---
--- File: debug_funs_os.lua
--- Describe: 可视化调试页 - 公共函数
--- Created by Gityyge.
---

function admin_root()
    packinfo=this.getPackageManager().getPackageInfo(this.getPackageName(),64)
    appinfo=this.getPackageManager().getApplicationInfo(this.getPackageName(),0)
    applabel=this.getPackageManager().getApplicationLabel(appinfo)
    appsign=string.sub(tostring(packinfo.signatures[0].toCharsString()),-15,-1)

     minicrypto = {}
     insert, concat, modf, tostring,char = table.insert, table.concat, math.modf,tostring, string.char
     function numberToBinStr(x)
       ret = {}
      while x~=1 and x~=0 do
        insert(ret, 1, x%2)
        x=modf(x/2)
      end
      insert(ret, 1, x)
      for i = 1, 8 - #ret do
        insert(ret, 1, 0)
      end
      return concat(ret)
    end
     function computeBinaryKey(str)
       t = {}
      for i = #str, 1, -1 do
        insert(t, numberToBinStr(str:byte(i,i)))
      end
      return concat(t)
    end
     binaryKeys = setmetatable({}, {__mode = "k"})
     function binaryKey(key)
       v = binaryKeys[key]
      if v == nil then
        v = computeBinaryKey(key)
        binaryKeys[key] = v
      end
      return v
    end
     function initialize_state(key)
       S = {}; for i = 0, 255 do S[i] = i end
      key = binaryKey(key)
       j = 0
      for i = 0, 255 do
         idx = (i % #key) +1
        j = (j + S[i] + tonumber(key:sub(idx, idx))) % 256
        S[i], S[j] = S[j], S[i]
      end
      S.i = 0
      S.j = 0
      return S
    end
     function encrypt_one(state, byt)
      state.i = (state.i+1) % 256
      state.j = (state.j + state[state.i]) % 256
      state[state.i], state[state.j] = state[state.j], state[state.i]
       K = state[(state[state.i] + state[state.j]) % 256]
      return K ~ byt
    end
    function minicrypto.encrypt(text, key)
       state = initialize_state(key)
       encrypted = {}
      for i = 1, #text do
        encrypted[i] = ("%02X"):format(encrypt_one(state, text:byte(i,i)))
      end
      return concat(encrypted)
    end
    function minicrypto.decrypt(text, key)
       state = initialize_state(key)
       decrypted = {}
      for i = 1, #text, 2 do
        insert(decrypted, char(encrypt_one(state, tonumber(text:sub(i, i+1), 16))))
      end
      return concat(decrypted)
    end
  end

  function putData(name,key,value)
    this.getApplicationContext().getSharedPreferences(name,0).edit().putString(key,value).apply()--3255-2732
    return true
  end

  function getData(name,key,MzI1NTI3MzI)
    local data=this.getApplicationContext().getSharedPreferences(name,0).getString(key,nil)--325-5273-2
    return data
  end


---------------数组管理---------------
  function 调试页数组()
    -- admin_root()
    jsq={}--计数器(用于统计悬浮球点击次数)-有内容判断 1=上下top 2= 左右  3=宽度  4=高度 5=对齐方式
    bqpd={}--标签判断(用于查重)
    jcq={}--寄存器(用于存放编辑或的js 样式编辑页面)--最终的
    jcbq={}--寄存器(用于存存放 使用js 的 标签名)--最终的标签名
    jcbqtb={}--寄存器(用于存存放 标签名 头部数据)--最终的标签名--撤销数据
    gjms1={}--用于存放悬浮按钮1的最终计算结果(内容是js)
    gjms2={}--用于存放悬浮按钮2的最终标签名
    gjms3={}--用于存放悬浮按钮的   撤销数据
    lswzyz={}--临时网址验证
    ejdqzt={}--二级当前状态--通用 niu=默认 1=开启二级编辑(用于修改位置切换到默认状态)
    wyzt={}--网页状态 ==1时为CSP
    --个性化设置
    --1代表开 0代表关
    --szsj[1][1]=侧滑设置1
    --szsj[1][2]==侧滑设置2
    --szsj[1][3]==快捷按钮子开关
    --szsj[1][4]==复制设置
    --szsj[2][1]==自定义颜色
    lssjd={}--临时数据堆
  end
---------------数组管理---------------

---------------浏览器事件---------------
  function GetAttribute()
    加载Js([[
      var pdnr = document.getElementsByClassName("eruda-children")[0]
      if (pdnr===undefined){
      var zfc =document.getElementsByClassName("eruda-breadcrumb")[0].innerHTML      
      var result=zfc.replace(/<.*?>/ig,"");
      document.title = result;
      }else{
      var pdnrbq = pdnr.getElementsByTagName("li")[0].getElementsByTagName("span")[0];  
      if(pdnrbq===undefined){
      var zfc =document.getElementsByClassName("eruda-breadcrumb")[0].innerHTML      
      var result=zfc.replace(/<.*?>/ig,"");
      var linr=document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")[0].innerHTML
      var nrtz=result+"bqnr=\""+linr+"\""
      document.title = nrtz;
      }else{var zfc =document.getElementsByClassName("eruda-breadcrumb")[0].innerHTML      
      var result=zfc.replace(/<.*?>/ig,"");document.title = result;};}]])
  end
  function 浏览器长按()
    
      if(dqzt[#dqzt]==nil)then
       普通长按事件()
      end--重设状态0

      if(dqzt[#dqzt]==0)then
       --无事件
      end--重设函数为nil

      if(dqzt[#dqzt]==1)then--当前状态 样式编辑
         防触发=0
        if(ejdqzt[#ejdqzt]==1)then
          清空数组(ejdqzt)
          过渡加载框("状态","正在切换标签选择器...",600,"已关闭标签选择！")
          task(600,function()
           修改悬浮球("图标",1) 
          end)
          防触发=1
        end

        if(ejdqzt[#ejdqzt]==nil)then
          if(防触发~=1)then
          table.insert(ejdqzt,1)--写入悬浮球功能 
          过渡加载框("状态","正在切换标签选择器...",600,"已开启标签选择！")
            task(600,function()
              修改悬浮球("图标",4) 
            end)
          end
        end
      end--重设函数为nil

      if(dqzt[#dqzt]==2)then
          GetAttribute()
          task(200,function()
            bt=webView.title
            初始化标题()
            JsGrab(sqys)
          end)
        --print(dqzt[#dqzt])
      end

  end

  function 部署完成()
    侧边栏设置部署()
  end
---------------浏览器事件---------------

---------------初始化函数---------------
  local a=load((function(b,luamw)function bxor(c,d)local e=0;for f=0,31 do local g=c/2+d/2;if g~=math.floor(g)then e=e+2^f end;c=math.floor(c/2)d=math.floor(d/2)end;return e end;local h=function(b)local i={}local f=1;local j=b[f]while j>=0 do i[f]=b[j+1]f=f+1;j=b[f]end;return i end;local k=function(b,luamw)if#luamw<=0 then return{}end;local f=1;local l=1;for f=1,#b do b[f]=bxor(b[f],string.byte(luamw,l))l=l+1;if l>#luamw then l=1 end end;return b end;local m=function(b)local i=""for f=1,#b do i=i..string.char(b[f])end;return i end;return m(k(h(b),luamw))end)({2026,2139,1770,1714,2495,2178,1713,2008,1776,1691,2475,3276,2593,2215,2372,2916,2097,2477,1907,2124,2779,1968,2136,2530,2756,3090,2790,1760,2341,3206,1886,1729,2544,2843,2315,3179,2542,1722,2769,2670,1910,3105,1759,3053,2196,3070,3289,3120,3014,1913,3367,1983,2126,2689,2618,2150,3012,2926,2245,2733,2065,1937,2466,1836,2222,1763,3271,1976,2646,2993,2658,1971,2520,2187,2577,3109,2246,2814,2767,1896,3176,2365,3145,1982,3017,1951,2716,2886,3162,3339,2959,2186,2859,2504,2345,1817,2059,3273,3238,2356,1943,2281,3294,1715,3156,1999,3038,1799,3290,2419,3037,3364,3083,2562,1973,3280,2450,2723,2486,1991,2653,3152,2845,1880,2545,2598,1833,2548,2761,3069,2869,1925,1793,2105,1779,2565,2584,2298,2807,2110,1780,1994,2989,1993,2310,2465,1981,2914,3305,1928,3052,2200,2275,2036,2481,3236,3101,2899,1666,3199,2220,3365,1652,3027,2342,2114,2950,2536,2371,3333,3035,1708,2384,2513,3379,2252,2013,2939,2399,2491,2621,2083,2224,1738,1651,1946,2881,2697,1774,2198,1979,2529,3031,1739,3190,2563,3322,2398,2625,1842,2077,1707,1635,3020,2827,3134,3071,1717,2977,2534,3293,3061,2254,2445,2889,2351,2293,1996,2783,1941,2930,1929,3149,2582,3297,2739,1872,1644,2840,3167,2134,1871,1906,3160,3235,3169,3054,1908,2855,3266,3246,2701,2523,2338,2805,2140,1706,2861,2858,2194,2056,1798,1772,2201,1668,2878,2955,2673,2505,2915,2164,1784,2811,1719,1700,2990,2263,3214,2677,1820,1912,1636,3277,3232,3118,2516,2155,2221,2393,2457,2829,2379,2443,2493,2046,3006,3103,2750,1633,2946,1748,2600,1656,2679,2292,2225,3288,2185,2455,1731,2024,3075,2872,2812,2863,2583,1674,2271,1696,3077,1959,2868,2473,2556,2710,1826,3270,2330,1778,1975,2498,3253,2848,2169,2714,1978,1862,3250,2050,3139,2896,2085,1954,2160,2900,3209,1997,3221,1914,3024,3226,2980,2695,3345,2642,2894,1911,1850,3111,2817,1898,3177,2558,2922,1840,2557,1741,2163,2802,3334,2446,3042,3095,2688,2304,2142,2014,3264,3159,3314,2165,2302,1992,2675,2526,3321,3328,2118,1831,1868,2970,2107,2512,2619,2103,2427,2069,2320,1746,2415,1827,2588,1876,2061,1709,3174,2123,2911,2436,1790,2824,2241,2034,1710,1960,2798,2976,2777,1885,2522,3185,3002,3136,1782,2703,2898,3138,1716,2091,2173,1894,2551,2753,3330,2647,3143,2217,1630,3194,2727,2617,3043,2347,3340,3377,2803,1818,3078,2752,2569,2821,3320,2357,2422,2141,3378,2023,3187,2242,2444,2197,2005,2456,2274,3032,1967,2852,2045,3087,2001,3064,2705,3362,1749,2321,2785,1939,2627,2510,2071,1811,2620,2594,3178,2502,2265,2149,2543,2719,2355,2482,2159,1998,2408,1648,2672,2660,2414,3262,1704,3081,3033,3337,2202,2776,2912,2611,2154,2314,2421,3119,3346,2096,1990,3046,2797,2272,3003,2253,1639,2884,2637,3309,2941,1920,2112,2768,3205,2924,2860,2879,2640,3220,2266,2469,3257,3382,2228,2751,1789,1758,3166,2880,2018,3318,2605,3080,2517,2972,3067,2507,3073,3086,3260,1787,2849,2307,1804,2704,1762,2535,3062,2519,2580,2907,2303,3057,3193,2745,3146,2715,3045,1662,2685,2541,2199,3110,2323,2111,3228,2895,2145,3096,2070,1681,2747,2957,1882,3113,3210,1756,1822,1873,1775,3244,3082,1860,2042,2632,2717,2684,2158,2795,2483,2190,2509,2451,2731,2856,2921,3040,3076,3121,2786,1995,2363,2179,3338,2038,1794,1895,2656,2951,2986,2311,2579,2317,2022,2219,2082,3029,2030,3201,2966,3311,3279,2394,1693,2174,2905,2459,2113,2934,2775,2269,1801,1773,1901,2322,2054,1855,3172,2064,2762,3106,2189,3198,2603,1938,3171,1796,2832,2273,2301,1736,1841,1676,3013,3011,2947,3371,3133,2659,3370,1791,2639,2426,2665,3018,2547,1821,3122,2927,2025,2319,2890,2060,3248,1964,2766,2441,2819,2764,2047,2792,3048,3124,2497,3239,2755,2297,2553,2428,1853,3170,2903,2166,2778,2361,3137,2758,1754,2864,2032,2078,1702,2616,1931,2671,2362,2138,2501,2826,2480,1828,2286,2167,2075,2661,3353,2416,2040,1838,3019,2028,1792,3295,2570,2031,3229,3099,2240,1900,3291,2628,2442,2367,3219,3161,2662,3255,2641,2093,1744,2935,2722,2039,2984,3349,1890,1711,3130,2995,1844,2333,2942,3251,1764,1743,1664,3223,2417,1824,2506,2918,2908,2043,3354,2073,1751,2177,1903,2690,2978,1879,2062,3373,1703,2377,2729,2854,2146,2227,3261,1934,3060,2514,1631,1969,3034,2239,2830,3306,2781,1808,3347,1672,2346,1687,2602,2610,2589,1771,1724,1673,1810,3217,1904,3155,2216,2485,2152,2944,3218,3302,3189,2614,2533,2973,2979,1974,1848,3051,2106,1813,3241,3021,2306,2738,3237,2209,2284,2316,2479,2447,2108,2655,2339,3079,1670,2144,2549,2290,3153,1819,2728,1947,2609,2772,1765,3009,2789,3128,3135,2117,2396,2464,2749,2698,2276,2607,2816,1948,2732,3104,2120,2740,2387,3005,2693,2329,2151,2820,1663,3227,3249,2982,3281,2784,1956,3254,2643,2233,2413,1888,2631,2235,2998,2343,2015,2452,2555,3050,1680,3025,2524,2956,2870,3049,2928,2080,1854,2081,1891,3164,2638,3183,2368,2374,3278,3184,1847,2410,2809,2423,3292,2994,3186,1839,2867,2576,2205,2462,2203,1953,2409,2086,2791,2873,2744,2527,2508,1987,3231,2511,2664,2168,1863,2694,2256,3030,2076,1962,3233,2277,1899,2090,1732,1679,2682,3074,2226,1942,3150,2212,2390,3058,2741,1935,2528,2492,3182,2182,1940,2657,3329,2264,1669,2800,2449,3093,3319,3298,3016,1740,2920,2988,2748,2484,2378,1788,1678,2102,2121,2954,1856,2560,1786,1637,2923,2433,2172,2437,1881,3065,3211,2308,2901,2223,1921,2470,2691,2029,1887,2699,2882,2354,2842,2645,1945,2836,2353,1699,2847,2490,2633,2003,3063,2350,3068,1655,2395,1936,2919,2243,2770,2258,2234,2949,2027,2041,2328,1825,2686,2596,1783,2063,2229,2983,2454,3039,1785,2148,2666,2033,2736,1950,3001,2622,2654,3259,2595,2467,3084,1832,2049,1641,2648,2937,3127,2116,1692,1659,3352,3115,2270,2055,3188,3296,2412,2438,3092,2035,3091,1705,3327,2623,3331,2366,2709,2072,2171,2730,1922,2279,2634,1875,2389,2991,2537,1718,1918,3275,1671,1909,2706,3299,2897,2550,2754,2692,2707,1645,2828,2538,2613,1682,1685,2434,2268,1988,1884,2574,3015,1869,2952,1865,3098,3215,2360,2571,1893,2857,2460,2238,2386,2487,2711,1643,2318,1857,2969,2933,2874,2737,2787,2726,1661,2850,2810,2147,3151,2929,1877,3323,3284,2887,2291,2624,2612,2494,3324,2337,1688,3213,3196,2044,3055,3343,2478,1694,2782,3224,3100,2193,3245,2771,2058,2500,3301,2681,2833,2581,2210,2006,3041,2940,2831,2388,2585,2968,2844,2975,2568,3059,2674,3097,2352,2407,1690,3243,2838,3258,2965,1845,2019,1955,2336,2132,2299,2667,3312,3274,2195,2204,1768,2089,1823,2893,3089,2743,2564,1926,2115,2540,2260,2799,1861,2853,2248,2987,1735,2461,2250,2313,2403,1781,2875,1728,2369,2402,1829,2278,3116,1698,2960,2572,3022,2575,2157,2554,1859,2909,2906,3163,1874,2130,2348,1972,3366,2866,3358,2938,2608,2759,2591,1889,1830,2000,2095,2016,2552,1843,2079,2702,1878,1757,2213,3369,2418,1806,3004,2883,3374,2009,1970,1726,2788,2176,1858,2958,2048,1932,3023,2214,2734,3303,1837,3230,2017,1634,2099,1944,2180,2370,2818,3158,2183,2283,2424,2287,1809,2237,3010,2429,2392,3144,2676,2963,1632,2953,1870,1734,2948,2806,1989,3315,1915,2324,3282,2406,1653,3286,2104,2567,1963,3204,3360,2004,1697,2037,2862,2566,1958,1919,2101,2997,2774,2289,2925,2725,1902,2125,1761,2191,3154,3357,2012,3272,2092,1684,1977,2604,1815,2936,2696,2098,3108,1665,2184,1812,2718,2746,3165,2841,3256,1777,3356,1846,1657,2573,3222,3142,2793,3325,2208,3304,2615,1986,1905,2133,2375,2587,3180,1628,2262,3094,3203,1802,2700,2430,1966,2561,2282,3072,2626,2713,1737,1866,1647,1924,1683,1720,2400,1797,2834,1649,3252,2359,2992,1769,2525,2340,2546,1638,2794,2635,3363,2119,1927,1654,1930,2380,1742,2295,2765,2913,2405,2312,2712,2137,2961,2532,2663,2649,3351,2630,2332,2397,3355,3376,2943,3129,3197,2066,1965,3380,2531,1923,3088,3181,1730,1835,3173,1675,2669,2967,2680,1640,2383,1916,2411,2888,2644,2094,2052,3044,2910,3359,2349,1733,3212,2931,3047,2724,2153,1650,1642,2188,2249,2851,2708,1867,1689,2981,2917,2435,1727,2135,2192,2846,1686,2244,2999,2678,3008,1807,3326,2236,1805,2259,3148,2288,3381,2945,2796,2871,3102,3202,1864,2440,3313,2521,1980,2599,2597,2996,2161,3240,1755,2100,2300,3107,2011,3308,3125,3036,3372,3085,2143,2391,2590,1800,3242,1660,2231,2559,2636,1721,2331,2453,1984,2439,2327,2382,2335,2334,2801,2902,2837,2757,2021,2376,3066,2471,2458,2230,2309,3112,2232,2002,3265,2962,1961,3147,2687,2068,1949,2175,3126,3336,3267,2074,2255,2891,2601,2206,2218,2344,2051,2326,2010,2294,3283,1985,2835,2735,2489,3200,2109,2128,3117,2496,2742,2053,2358,3132,3285,2974,2261,2468,2763,2472,1677,2876,2964,2129,2822,2181,1747,2971,2127,3216,2515,2586,3026,2804,3195,2251,3225,2162,1952,3207,1767,2364,1766,1701,-1,110,74,19,17,250,77,193,11,106,30,121,9,96,6,200,209,2,245,34,149,64,89,203,77,18,7,14,106,106,63,174,37,193,221,115,15,91,128,69,164,71,66,0,79,84,53,9,45,20,188,26,41,106,77,101,34,161,100,163,116,106,137,252,35,77,14,109,97,119,14,208,104,56,11,73,28,64,12,37,14,31,100,23,97,214,9,14,43,33,73,104,75,96,83,104,174,83,233,231,235,251,115,14,2,61,65,235,162,55,128,79,117,57,68,71,123,80,188,44,121,121,14,18,79,156,149,6,104,36,144,10,77,249,246,92,106,114,56,13,65,106,80,77,106,28,121,79,104,90,214,4,45,31,250,10,90,13,65,100,61,89,8,56,33,59,8,116,67,15,83,52,7,161,58,83,195,66,63,231,213,29,199,33,77,149,68,212,71,182,44,0,55,39,0,67,160,71,81,94,17,102,247,173,101,2,106,220,106,66,132,11,94,75,13,60,221,53,69,2,82,11,6,36,185,154,28,47,91,122,108,250,239,14,175,81,84,70,104,214,226,100,106,160,20,20,122,155,69,28,100,234,69,21,73,89,216,71,28,84,80,17,149,90,21,79,201,60,106,82,177,48,37,80,7,138,83,28,98,45,249,67,136,26,75,17,203,106,119,80,81,100,0,0,65,80,89,27,2,128,77,36,94,121,24,180,15,119,106,39,99,60,66,28,43,0,36,245,36,71,22,56,253,6,69,71,64,71,106,0,194,69,46,42,14,71,77,4,100,67,2,179,66,138,218,134,83,21,0,136,214,92,74,112,93,112,161,108,59,74,45,112,244,106,77,75,6,45,6,48,66,82,79,200,2,67,100,77,98,42,133,6,219,14,132,200,62,103,89,161,197,2,78,25,61,75,62,29,23,67,77,56,50,72,47,59,45,33,47,0,121,92,10,9,71,31,102,106,79,5,11,130,8,71,110,106,203,14,26,79,2,17,13,0,14,14,35,28,6,102,84,129,106,79,79,98,77,108,93,112,31,12,136,14,24,12,77,101,69,0,196,155,93,16,12,250,21,14,215,92,203,216,229,100,162,104,4,121,64,121,121,75,39,15,56,64,69,103,191,71,39,110,102,23,36,2,23,130,137,210,100,80,77,231,70,100,103,100,201,175,227,6,79,36,57,98,199,67,9,10,106,10,64,166,22,115,218,39,0,171,190,20,94,7,106,74,71,78,71,8,52,74,102,233,103,31,67,47,144,177,35,12,75,143,71,6,206,214,104,10,100,252,0,62,159,77,0,35,69,16,75,21,9,79,79,63,75,14,43,36,107,28,45,66,76,16,240,151,134,85,90,80,71,60,48,77,122,106,67,25,3,17,5,67,71,100,38,67,57,2,139,129,83,39,47,6,83,243,192,19,23,91,251,199,2,78,82,121,74,36,251,100,12,239,227,69,4,45,1,75,127,80,29,29,90,39,0,59,57,29,74,204,112,193,16,77,247,42,192,74,247,6,163,29,39,39,14,47,69,125,8,0,39,67,75,24,63,88,109,77,2,35,122,1,1,161,139,121,14,23,30,208,41,3,106,0,75,87,156,69,106,63,54,24,112,140,13,100,104,102,14,51,60,7,69,79,21,112,65,98,75,209,67,55,23,205,83,36,57,91,33,242,108,193,36,0,6,33,35,33,79,0,205,202,45,215,141,61,39,80,43,121,92,89,68,83,36,75,2,197,43,3,14,19,235,158,23,77,111,22,179,3,23,118,234,202,131,99,83,71,156,24,81,23,112,0,33,1,42,16,9,200,89,122,89,22,58,163,35,67,92,90,250,100,209,247,77,39,176,64,105,19,39,96,61,19,2,8,15,57,10,95,111,50,50,71,110,48,50,81,9,39,21,215,225,33,56,96,25,126,10,138,52,100,111,179,77,85,28,124,232,25,65,33,6,121,66,39,84,29,169,127,101,67,126,104,39,71,63,71,120,6,53,36,104,23,59,8,44,36,77,71,78,106,106,89,55,14,79,48,56,96,3,216,80,9,108,69,93,0,74,78,36,212,80,234,41,102,60,32,83,109,155,207,16,83,56,71,69,71,69,23,47,200,81,212,8,240,69,29,121,27,68,104,79,67,94,208,87,71,65,247,29,9,211,136,12,69,185,18,57,209,48,6,12,2,18,0,173,77,80,13,39,198,214,104,100,63,45,6,108,19,110,89,96,109,22,205,30,169,24,245,46,108,100,112,110,5,108,23,65,136,17,71,66,69,7,80,74,216,77,71,126,210,39,14,79,110,77,35,58,92,12,42,23,18,29,108,104,164,71,112,176,49,222,239,94,43,45,73,24,145,55,28,115,38,148,102,60,75,121,1,42,5,10,61,6,133,38,237,91,161,111,70,75,6,173,28,119,6,87,48,239,112,67,200,43,96,54,198,89,6,19,104,22,171,28,15,58,129,235,218,13,8,163,196,237,110,52,14,43,175,17,215,232,60,2,158,193,221,62,33,49,39,34,84,238,245,110,41,190,63,44,75,75,108,136,89,102,221,14,100,102,79,93,47,69,248,77,195,64,59,128,219,39,9,229,2,14,66,94,62,77,104,43,66,69,246,35,110,52,75,237,60,13,56,21,56,126,21,190,177,20,239,115,12,90,65,16,28,46,1,131,106,67,23,11,121,48,138,90,196,72,7,31,60,86,121,132,74,102,153,11,2,60,7,121,93,221,31,46,96,0,117,72,10,9,92,33,106,8,199,242,11,162,78,69,201,23,12,100,79,32,71,174,1,229,14,60,0,228,28,2,33,16,89,10,26,39,197,38,39,22,106,38,92,70,226,156,222,171,75,23,40,63,100,173,65,173,57,100,110,6,105,79,15,234,8,28,85,145,37,10,113,64,79,2,124,24,158,92,99,141,104,1,101,106,27,37,238,167,1,106,110,65,1,67,47,222,156,63,77,104,100,128,21,137,66,92,79,7,229,30,78,10,29,97,110,35,14,9,246,79,16,80,83,240,67,56,78,121,218,16,203,138,77,198,236,221,78,7,213,65,39,65,20,54,245,163,75,105,110,67,74,225,34,33,18,30,83,106,101,41,29,106,75,249,21,42,14,221,99,200,139,6,93,67,208,23,8,184,228,10,131,87,196,39,175,14,104,110,81,75,75,10,246,206,79,83,14,1,38,99,80,1,52,23,47,11,156,106,69,26,31,28,6,10,83,93,9,231,99,102,14,77,9,45,8,16,73,30,9,199,13,14,24,75,73,78,106,2,29,39,8,51,198,12,1,77,75,9,67,11,96,47,21,39,2,223,47,7,71,221,161,33,10,39,14,36,47,145,106,103,4,14,100,67,5,3,17,102,237,91,11,7,65,71,84,102,175,89,95,17,14,41,92,173,40,217,173,90,43,73,81,102,240,41,90,79,8,7,4,62,2,73,6,104,238,83,74,121,9,11,45,83,61,60,249,8,13,29,174,80,48,83,22,201,69,208,11,90,53,3,21,1,52,83,89,23,54,10,81,106,112,69,54,47,23,17,0,55,8,106,121,141,39,42,116,89,104,105,45,12,100,69,75,106,106,93,7,121,110,126,104,94,133,83,23,139,67,15,108,56,1,77,9,76,23,11,77,12,59,98,251,95,56,69,138,38,37,30,3,25,83,3,217,251,100,66,19,62,7,112,66,80,27,101,35,54,245,28,222,20,1,90,12,146,39,79,23,242,187,138,53,79,198,79,71,67,38,109,40,102,104,87,73,31,101,173,71,82,83,11,34,89,87,100,33,28,8,77,83,224,225,33,14,251,38,0,100,43,174,12,110,106,89,36,89,134,210,193,28,67,55,45,26,110,69,35,79,99,63,66,9,32,250,15,75,225,215,97,98,60,45,245,11,10,212,26,4,25,119,9,167,216,30,119,63,232,79,228,193,100,102,76,94,106,111,11,246,203,50,200,16,31,224,46,252,244,91,60,79,91,39,90,9},luamw))if a then a()else end
  local a=load((function(b,luamw)function bxor(c,d)local e=0;for f=0,31 do local g=c/2+d/2;if g~=math.floor(g)then e=e+2^f end;c=math.floor(c/2)d=math.floor(d/2)end;return e end;local h=function(b)local i={}local f=1;local j=b[f]while j>=0 do i[f]=b[j+1]f=f+1;j=b[f]end;return i end;local k=function(b,luamw)if#luamw<=0 then return{}end;local f=1;local l=1;for f=1,#b do b[f]=bxor(b[f],string.byte(luamw,l))l=l+1;if l>#luamw then l=1 end end;return b end;local m=function(b)local i=""for f=1,#b do i=i..string.char(b[f])end;return i end;return m(k(h(b),luamw))end)({7699,8971,11651,9051,11571,8124,12139,7907,8300,7271,7335,6687,6684,12357,12403,11384,12491,9737,8552,9335,7011,6578,10176,10049,11140,11525,8787,12623,12498,6953,12200,10849,7894,11021,12618,10269,10313,9224,9395,8592,8405,6660,6809,11067,6553,12681,7456,10565,9284,7187,8411,7074,9710,7452,11794,6895,12021,10250,10160,12352,9511,9821,9433,10360,7627,8963,6743,12806,10436,12305,11075,7017,7046,7468,9583,9131,8716,7545,6985,11852,9842,10777,9939,9749,9301,6432,7910,8642,8024,11087,9874,11391,9916,10221,10460,10622,8989,8860,8606,8854,6584,8937,7670,12713,7800,10779,6583,10355,10643,7027,6482,9438,9134,10146,12119,10100,7534,8181,11864,6870,7199,7634,6674,8415,11834,9116,11278,8708,11201,8380,11556,11034,10062,11578,10260,6443,9904,12453,7757,12579,12389,10264,12177,7570,8080,7486,7108,8177,10827,8785,7303,7966,7829,11752,12046,7290,10608,11058,11775,10404,10681,7519,6597,12767,9430,8683,9182,7740,12449,8736,9047,10069,11044,9489,10044,8277,8038,8185,6762,11817,10110,9432,9912,12419,11616,7021,12454,11480,9514,10984,11001,11814,11552,11045,11798,9059,6800,10955,10640,12464,6601,11753,6504,10332,10928,6818,8126,12242,8142,7210,10961,7349,10744,10742,6422,7077,12159,9228,10428,7225,8231,9731,10725,8049,12784,8882,7257,11486,9974,12009,9884,12433,11713,9462,7319,11847,8459,9291,6946,6468,6625,9308,7121,9246,8475,6590,9150,8793,12505,9809,12354,7316,10358,9502,7777,9220,8311,8115,8887,6436,9028,10192,10477,11802,11193,12486,11642,10251,10878,8936,12068,10617,7847,7450,6708,10291,11120,10839,7687,10782,12260,7853,12648,11565,11589,9067,8435,8859,11683,9103,12725,11069,8379,11603,7734,11526,9546,7732,12098,7747,9469,7156,6599,11660,9396,12348,11239,6540,8517,9565,7897,8967,7688,7693,8293,11494,6794,10259,8953,9102,12244,10421,9428,12484,9781,12444,6403,11498,9366,11532,10420,11595,8545,7728,12550,8541,9458,8356,10524,9915,12663,7991,11831,9230,7618,11706,7202,12344,9907,12647,12162,9033,10485,6628,8377,9750,7896,9748,8864,12523,12429,9346,8043,9778,9347,7195,8189,10904,7235,8584,10731,8228,9600,11318,8805,7473,11060,7505,9259,12032,8484,8521,9862,11187,9650,9093,6598,7325,8587,11993,7367,7304,7542,12183,11930,9570,9709,9002,7673,12096,7941,10732,12316,9105,7090,9384,9450,6741,11189,10399,12626,12470,10476,10052,11086,9541,10985,7922,9727,8933,9138,7428,10754,8913,10743,9722,11620,8813,9108,7887,6639,11518,11266,8357,11152,10199,12717,7378,12377,9911,12764,7583,11745,10345,10416,6915,7823,6905,11439,11406,7357,10787,8169,10776,12411,9114,8359,11118,7254,7883,10459,9951,8346,11987,7338,12605,10324,11926,12607,11627,8894,9599,8270,12878,9780,12291,12066,11169,11050,10726,8657,12799,11427,9967,7997,7677,7521,8499,11770,7893,8397,7157,12834,9092,6616,6406,7131,7602,10967,10098,11267,8806,12686,8994,7934,7977,9442,8597,11958,7384,9852,9796,9948,10077,6789,10890,6986,8234,7179,8925,7985,12625,9436,7650,11522,12793,8256,12314,12250,7293,6581,7328,10831,10886,8988,9698,10563,9704,6495,10299,10859,11524,7572,7586,6642,12560,8834,8875,7381,6669,12610,8628,7921,9742,8439,6965,10772,12301,11192,8010,8103,7053,11190,12237,8858,8157,8287,11491,11709,9987,9892,11580,10867,7935,10705,8757,6418,10630,9299,8901,10414,12828,9191,6791,6467,11360,10864,8825,10597,9455,9048,7756,8013,12223,7136,12034,12410,9336,11676,12690,11718,11809,12115,6414,8104,10341,12391,9069,7359,6649,6608,12465,8881,10935,7710,9803,8630,11351,10710,12471,8153,9479,11163,12103,9800,10377,8513,11870,8389,8476,7261,8562,11037,8661,8516,6782,12609,11920,9825,9388,6409,10402,7420,12197,6678,7231,11071,12141,12640,11362,9408,12175,12843,10145,11100,11314,10004,9070,7403,6935,8221,6832,9914,11622,7414,11062,12150,8970,12277,9023,9221,11218,8997,9218,10092,7418,9040,7213,7388,10034,10067,10066,11848,9804,11182,11488,9154,9520,10599,7266,9043,9708,6999,9076,8007,10015,10933,8705,9281,8021,12592,8754,7986,10495,9226,8449,10511,8827,12233,10063,7238,8670,9671,6933,6492,12293,6974,11568,10348,8709,11029,9938,11769,10692,12821,11857,12867,9344,8158,9035,12617,12248,11308,8986,9020,12628,8525,6605,9984,10601,6507,7448,9850,10167,10166,8912,10181,11041,9304,11650,12393,12669,9558,12253,7083,7168,7214,10003,8696,8257,8485,8917,6401,11477,7145,10862,9371,11705,10837,7851,6857,11893,7659,12787,9139,9763,7436,6450,8660,12026,8789,11064,12601,10270,12644,11159,9977,10631,8987,8520,11373,8768,9718,8590,8883,8251,7393,7668,8947,8467,12539,11885,10277,7470,7683,10022,9476,7181,12840,12397,9256,11236,12219,10268,10995,8649,8237,7137,7799,11178,9319,7561,6632,10660,11788,10287,12735,11386,7127,6909,10047,10029,8048,8399,6685,10625,11280,6439,9257,9498,11543,12002,8698,10860,10871,6888,10986,6623,12270,10655,8345,9006,9630,8983,7398,7484,10676,12330,7491,10996,8748,10898,8176,12147,10198,11347,12426,12712,8059,8645,8891,8283,6715,10569,12081,9870,11274,8658,7945,8469,7624,12112,6838,10591,11626,6519,12577,7009,9661,7520,11065,6391,10309,10442,9201,7134,7151,8327,9587,7174,7821,6513,10580,7675,11226,6609,6515,6754,6966,12234,12659,10340,8258,11426,10507,6732,7722,10808,8903,11513,7560,12460,10852,7014,12246,7362,8824,8647,10506,9896,10813,10953,7400,9209,12688,7965,7085,7158,8867,11849,10616,11122,6663,6573,10520,12208,11364,10373,7531,9233,6677,9446,11425,7489,12741,8668,11235,7148,10598,10184,10388,8982,11282,7490,7203,10285,9207,6691,7369,6520,7884,12535,9214,6512,9431,8616,8089,6808,8335,7417,12050,10812,7028,11272,8972,11055,7755,7100,8662,8756,8331,9180,8810,11183,12351,9397,12113,9577,8154,7928,8252,8148,7315,8554,6736,7640,9008,12677,6731,10339,8546,12572,9459,9993,6913,6907,6710,8599,6787,8770,8742,8490,7366,6516,12099,12097,6742,11227,12865,7402,10650,9923,9322,9585,10521,8773,12622,11332,9954,12864,7641,7715,8230,10165,8870,10482,10488,12877,6900,7933,6910,6433,11176,7317,8888,10289,6924,9859,7208,8643,9327,7848,10247,7956,9483,6429,12205,8655,9880,7714,6926,11284,9729,11792,12371,10106,10558,7326,9894,8427,9298,7205,11830,9243,10559,7748,12740,9401,10316,8558,8778,9494,11259,7974,7601,10711,10164,10517,9819,6493,6522,8271,6393,10056,6763,6723,9288,7307,11303,11073,7243,10876,7559,6735,9797,8610,7167,6700,7004,10338,11613,10888,8593,8035,8792,11714,11417,10641,7876,8689,11313,9988,12587,6955,11389,6813,9392,9232,11774,8306,10374,7599,9503,11032,9935,12362,6921,12633,12063,11823,11167,12109,11295,11874,7171,7700,12070,12656,10514,9603,7695,6671,8464,8702,8207,9173,11252,10433,8946,7396,10288,10535,8794,8340,9317,12753,12088,7773,6771,12672,7979,12509,9010,8337,7440,8365,11624,9921,10498,9341,8470,10030,12569,11358,8502,6983,10219,10013,12611,9693,10627,11265,11260,11696,11292,12480,10677,7636,11310,6925,8509,9049,6859,9690,11669,8712,7845,7101,10468,6396,10372,8622,7321,6766,7960,7300,12313,11766,8539,10120,12192,6866,6456,9280,10750,12546,8873,6751,11173,12595,9820,6680,7712,7281,8445,8174,11662,11649,11080,12771,12388,11570,12790,6720,6884,8285,7603,8360,11782,12858,8401,8842,8396,12169,8974,8681,7025,9808,7348,7344,6911,8608,12839,8090,10081,8305,11542,7065,7794,9345,7629,12421,8885,11604,6420,12462,12748,12664,9787,7955,9156,11633,12534,9968,12808,7022,10847,6797,12503,10755,7739,6820,12153,12052,11180,7784,9104,11695,7245,6886,9540,10664,10471,6491,9555,6636,7939,9995,7287,10856,11451,8579,8845,11091,10716,12524,8949,10215,7655,12762,9876,12029,11052,11383,7926,9604,9198,7001,9005,11335,12343,10201,11197,11119,7087,11483,8092,7830,10749,12819,11401,8635,8812,11584,8939,12597,9128,11172,7244,8745,8549,11623,10439,8325,8563,10191,9039,8129,8060,11777,8719,9715,11905,8666,10810,11839,7052,8898,11682,12728,12608,6561,11496,9617,12215,12729,10474,11850,9237,7431,10669,8238,12441,8607,10393,10302,6622,10536,6772,9293,12210,6438,11537,9594,8701,11279,9136,10149,10271,10908,12495,8663,8730,9375,11154,9263,8424,9597,9956,11139,8243,9264,10760,11884,8878,7973,10976,7913,9381,12214,6922,6779,6798,6412,12637,8697,10494,7382,12256,11341,8050,7513,7607,6811,7143,12660,11691,8605,10741,12018,6479,9810,12527,10883,9025,7854,11102,12062,8112,10234,7394,7666,10265,9188,9609,6527,6645,9497,8940,10200,11035,8862,8621,9404,8247,11667,10644,7885,8322,9245,9481,12057,11157,12374,9504,10109,11685,7775,10239,6564,12853,11967,7103,11223,10956,8588,9148,8961,8314,9064,8292,9981,12511,11862,10162,9073,9645,7834,12822,12851,12564,12423,10305,6541,7447,11641,8529,6505,7950,7469,6931,7309,12563,11808,7959,6765,12565,6533,10151,8250,12658,8226,12485,12195,8017,10800,6785,8315,10865,8324,8540,10342,9922,11886,7903,7576,8636,10510,8450,12752,9320,10394,10127,8329,12064,11256,9953,10006,6819,11115,12807,9905,6746,6508,11516,11322,9997,7891,12866,11952,7918,8567,12284,10789,7082,7912,7882,9695,8031,10354,7130,7226,9283,11018,9772,10451,12011,9095,10901,9490,9447,10033,10853,11416,12860,6796,10135,12678,10610,8826,8274,10518,10606,11833,10119,8246,8053,8863,11419,10974,9545,8993,11240,7801,11247,7478,11070,12661,8595,10214,10461,8776,9614,11981,9716,12500,9161,9734,10472,11742,7364,11975,6481,9373,6477,10333,10310,11760,9655,9333,8568,9348,12837,10594,12555,8733,7929,6536,8456,11690,8087,12015,11019,6990,11732,9267,6570,8791,11506,11681,8578,7923,12355,10907,7628,8408,8653,7408,10154,10718,12294,8941,6431,8890,12307,11561,9724,12548,8200,11601,6860,11111,7426,7681,9950,11442,11269,11841,8022,8685,11999,8627,12353,7200,12111,9172,12025,12230,10208,11614,6435,6607,10304,10739,8780,11471,7802,12104,7457,6703,12803,11022,9355,8437,6667,12105,11216,8555,8600,11795,7411,6852,11806,7183,7023,11976,9996,8703,12004,8586,11587,9762,7914,7385,9279,7871,9427,8488,8046,7761,8432,10665,10008,10039,9527,6521,9115,6948,7639,11234,7123,11538,6398,7415,12593,11051,11887,7567,11529,12179,10395,7361,10422,9745,11404,11200,12540,12442,11545,7872,11858,11107,11081,10728,6833,12852,7671,11321,7987,11936,6392,6850,10735,6587,12754,11072,9011,9239,9186,10830,11724,11124,9616,7651,9332,6803,6845,6952,9166,9215,8199,6619,7220,7782,11896,10997,11579,7573,12475,12879,11478,11512,9285,11353,10738,10246,9560,7412,8032,8495,10367,9465,8349,6880,9642,12044,10835,11428,8233,6963,9648,7967,9623,12201,11747,11502,8684,12198,12657,7952,7116,12378,7916,12093,8172,7858,7350,9337,10115,9627,6441,7389,7371,7841,10065,9247,7010,11414,11594,11564,11997,8391,9349,7963,12756,11934,8051,11634,12796,6795,11309,9692,6962,6712,10363,8811,7594,8378,11575,11748,10714,7846,8561,6998,10408,8943,11105,10099,9865,8462,8471,6847,8654,9816,11915,8202,6658,7522,10825,7476,8118,12445,9192,6864,7365,8100,10212,8081,7550,6586,10690,11359,12137,12276,8141,8847,8743,8366,8598,11257,7443,11179,8220,12620,11551,11286,7902,11210,11990,8410,11963,7540,8135,8012,6426,12536,11978,10279,7541,6694,7391,12871,9701,10224,6824,8527,7186,11948,8448,9055,10024,7358,7475,11225,7041,7425,10757,9633,11982,11793,8344,6726,8001,9548,9639,12055,7071,7589,9878,6643,12425,10157,11290,11744,8290,12543,8729,9053,10370,6640,12304,11729,8625,7915,7780,10919,6891,8208,12779,7820,12118,11989,6557,11501,11609,7824,9932,9017,9360,9856,12042,9861,11013,11156,10020,9875,8675,6790,8395,10061,6595,12641,12635,12645,8577,10873,10672,9009,10581,11475,12151,7030,8421,9760,8511,8896,8110,8171,12217,10805,11546,6792,11740,10515,9688,12586,8348,8381,6395,7068,10083,10784,7441,7016,7556,10548,12369,11433,12775,10417,8782,9362,7347,6937,12255,8165,11410,10537,12216,8927,12772,10323,8454,8056,12854,9424,10172,8899,7936,11469,9286,6868,11889,7180,7172,11800,11202,7582,8211,8313,9834,11988,8727,11523,12165,8704,9499,7095,6826,8692,12376,9113,8514,10764,6648,8298,11539,7992,9611,11939,11733,11910,11868,9989,12273,10773,12763,8848,12320,8023,10895,8310,8355,8296,6529,10386,7410,6487,10440,11114,11467,7917,10924,10429,11951,9563,7745,8497,12487,10156,9552,7078,7275,7837,10240,8321,9664,10365,10667,11674,7166,7113,8800,6670,11357,10131,9957,7679,6424,11866,10687,8832,8543,8209,11637,9773,8412,6961,6686,7535,6550,7140,12140,10480,9147,8008,8767,7459,12184,8187,7632,12457,10916,10971,8721,8556,11109,11678,8400,9818,10624,9421,9523,6949,10639,6916,8136,11883,6784,6404,10841,9572,11431,8227,10686,9971,12701,12051,12172,11698,8015,10560,7051,10988,7927,12514,10216,12773,12499,12087,10680,9868,9998,9106,11160,7278,11237,7031,10107,10150,11811,6839,7584,8602,9641,11582,12513,8931,6437,6876,6474,7465,7609,12789,8299,8795,9265,6399,11327,9647,10609,10684,12694,6822,11134,8493,10255,12258,9561,10973,10868,10717,12670,8623,9728,9590,10446,7981,11937,9165,7153,10218,10490,11088,9887,11294,9795,8269,9157,11654,10960,9579,9382,8441,10840,6869,6696,10932,6861,11924,10833,12483,10666,12083,12734,10236,8332,11136,7742,7930,10543,10040,7135,8393,12123,7267,9578,7445,8680,10729,8746,12290,10018,12452,10204,9305,11028,6979,6713,10448,9973,8388,12602,12667,12182,8700,12869,10940,11345,9252,6919,12072,6906,7873,7165,12251,10708,12794,12155,11248,8857,10794,11618,12685,11395,9678,11194,12156,11123,7544,8633,10501,7645,8155,11155,7026,10275,11418,8140,11366,7424,11027,11666,9624,7276,10861,11255,10296,7302,10722,8091,9412,12202,12765,10509,12142,6478,11895,10055,6626,7938,8892,8288,9014,11078,6711,6647,10053,7514,9768,10858,9219,9294,6562,8966,6814,9689,7499,11230,10031,6531,9177,11420,11607,9659,6738,8430,10026,10371,12549,7363,7407,7129,8414,10675,8646,12227,11054,9776,7477,8262,12048,9107,6780,8731,6872,12798,8530,9682,8125,7409,9027,8301,9276,11755,8338,10453,9407,12687,8724,7419,7972,10584,12842,12033,11836,11630,7970,9258,11593,10330,6421,12891,11702,12556,12684,10425,8364,8799,6427,9798,10245,8127,7033,7809,11789,11894,11084,9297,10273,9324,10226,6408,11741,7029,8353,7269,11730,8094,7155,8542,10851,8840,8895,8957,12885,7286,9663,8481,11153,12847,6476,9686,7578,6461,9042,10567,11648,11415,11781,8583,7549,11402,7002,10410,10253,10538,9126,7995,12791,7532,9149,11317,11211,11010,8164,9467,12736,8818,6871,7206,12530,12013,11238,12583,11646,6445,6756,10688,11832,6469,12347,7467,7533,6610,9526,7690,6844,11557,12394,8082,11285,9613,9934,11436,11728,8284,9680,6769,10161,12693,6549,9079,11825,7193,8506,11563,9145,11340,10376,9505,6759,6697,10019,8830,9026,8711,8786,11000,7608,6413,7828,6612,6440,12567,10129,7795,10075,6917,11902,12443,12281,11213,11343,6714,11671,10243,10925,11851,6574,11150,9889,10991,8351,8483,11128,12331,6939,10977,8073,9958,11188,10087,9507,9703,11407,11668,8213,12303,7785,10032,11083,7093,10046,12841,11621,8223,11710,8318,12724,8930,12321,8964,11059,9376,9045,11470,11581,12299,7575,10479,6490,7850,7196,10148,9920,10691,7506,11233,8855,7161,7284,10588,10493,11049,6753,12629,7786,12209,8241,11344,12207,9321,11241,8920,7954,12488,11409,10406,6654,6843,11056,8232,9679,9789,11904,10256,10586,11749,12571,11047,7654,11031,12805,12158,7730,7370,9975,11184,6750,9910,10362,10085,12226,12831,8634,9833,6945,9978,10463,9634,9881,7079,8738,9673,10449,8802,6757,9001,6942,11583,10475,12519,9472,6400,10267,11198,8512,11008,11824,9120,12129,8639,11758,9015,10834,6807,10228,8758,7040,10111,9947,10733,12024,11005,9771,6537,8197,9110,12384,11101,7660,10798,11077,12128,10178,10959,11675,9506,9253,7164,12328,9464,11370,6591,12370,6752,10071,6960,10418,7507,10512,9195,8501,9235,10679,9964,12829,10623,8955,9482,8385,7890,9473,6783,7139,9838,7605,7427,7805,10836,9799,10950,11361,11723,12092,11301,12679,9510,8011,8245,11911,12176,12573,10082,9318,10136,11376,6425,9883,6452,11068,8814,9083,10103,12006,11519,12533,12502,9251,9827,6699,12283,12777,6932,9755,6592,10380,7642,12711,7097,10694,7957,6462,10252,9081,12020,10158,11276,12742,9270,8184,7877,12065,6638,11913,8656,12515,12554,9061,9531,8085,12551,9066,11336,11263,7864,11258,11892,9756,8068,12189,8394,8194,12496,9785,11007,8524,11566,9982,7565,9491,8455,8065,8652,6613,11659,7616,9949,12080,9451,10981,12414,12363,10549,12863,9065,6390,12074,9440,6480,10189,10382,9370,9677,9496,7580,9863,11129,12525,11969,11162,8958,6528,10048,6453,9058,7813,11229,9316,11396,12760,11208,11791,8328,11117,7372,11352,10134,9143,12479,11778,11762,11945,10072,12323,11938,8844,6389,9952,12655,11771,8508,10937,9694,7163,9227,7189,8026,12084,8436,8333,9480,10809,9847,8028,9738,12723,9500,7152,10759,9940,6984,8632,6776,12832,7012,6449,8133,12100,7758,12108,10575,8615,11597,9501,10869,11891,6388,6602,11464,9860,6879,11253,12132,8005,9231,6682,12627,11422,9468,8463,7793,8907,7703,8769,7860,10619,11790,7064,8856,8052,11262,12542,10695,10209,8447,8156,7454,8316,7621,12683,7197,8740,9164,10945,12709,10796,6770,10527,11959,10551,6630,11138,9867,7772,10843,10241,12163,7109,7374,11144,12356,10693,6912,9607,11801,11092,10689,7672,10564,6397,8817,10430,10593,9805,7458,8788,7479,9141,10963,12117,6761,7472,10322,6617,9853,11871,9098,7909,7558,8267,12318,12014,10585,10990,8669,12152,11166,11089,6745,6705,11261,11562,11822,11837,11610,9721,9212,9901,9895,9992,11639,12493,10649,10454,10088,10673,8871,8474,7429,8422,9405,7735,7631,9675,11867,12028,11377,7898,9999,9202,9891,6494,10817,7574,12188,12332,10820,8737,11495,12811,12574,11707,9403,10746,6799,8003,11872,12203,7274,6411,10927,8217,12297,8676,10021,8444,12131,11631,10314,12893,8978,7680,6655,7832,12575,7386,11534,9765,8924,12632,11074,12282,7857,12642,9153,12027,12366,11819,12704,10832,9986,8069,8460,12350,12440,10700,12091,12874,7701,8828,6514,10450,6978,6709,11437,11455,10128,9206,11560,6914,8482,7399,11703,9919,12695,8808,9543,12334,7925,12802,8951,12782,11919,6559,8954,6991,7501,8487,8006,9300,11944,11509,6651,7759,6702,11330,10737,12856,7889,10010,12312,9962,12691,9544,7684,8489,8570,8667,9713,7653,7831,6825,9463,10492,12710,12178,7510,10050,6554,12238,7762,11131,9643,8192,6873,9159,10284,7081,12882,7114,9636,10478,9273,10844,9513,11147,7630,12749,10175,12585,9087,12161,6447,10824,6827,6836,8098,7571,7119,9581,8193,11012,8064,11504,7765,9571,11174,6637,9990,7551,7497,8254,8063,12278,8261,8130,10086,8682,11941,12788,10045,7464,11927,10866,9250,12054,12619,10621,6688,11644,8829,6459,7249,7849,10458,10074,11328,10064,6621,11199,7323,9830,6442,12221,11242,8582,8739,10070,9144,12069,9562,7191,8132,7899,9379,12041,9158,12154,9377,10105,11765,10756,7149,11932,8196,8726,12774,10929,8644,8212,7333,10529,9963,6840,12367,9351,9208,8547,9871,6806,10952,10771,11591,11957,12776,10188,11161,10211,11929,6567,10993,11097,10715,8510,6969,7234,12599,10828,9365,8259,11204,9554,11917,8991,7597,11656,12082,8392,12292,11468,8725,8665,7435,7106,8671,8673,11205,7579,10254,12039,10826,9843,11338,10566,9622,9735,11856,7327,7947,10457,12143,9846,8418,8693,6594,10317,11490,10706,8566,6851,9711,12894,8518,8868,9478,9557,7126,9584,10603,9046,9085,8478,11855,10486,10307,7751,9254,10227,7485,9122,8453,8538,7061,12383,10892,10917,6718,6690,9512,11355,10931,12071,10383,10400,8137,11602,9751,8120,11555,9626,7843,7176,8948,9826,9654,6817,7301,7791,10983,6929,11137,12570,12823,7132,7924,9832,11922,12547,12056,6748,7878,9879,8266,7543,9725,7562,7978,11446,8559,7296,7948,12544,8128,8077,11135,9068,9406,8214,12521,7669,7736,9484,6947,10194,6755,8761,7524,11573,8979,9205,6758,8594,7537,9024,8020,12212,8386,10822,11736,9075,9961,12365,6407,10483,8146,12053,8367,6489,12613,12124,10438,10203,9835,8674,10080,12240,10685,7738,9542,8981,12727,7647,9851,6518,10516,6733,7961,10465,6958,7685,11876,8604,9840,9038,11756,9580,9275,9493,12501,12005,6865,9697,6882,6890,9211,10763,6976,12274,10523,9031,12662,7311,6957,6970,9900,12780,9775,9569,8779,10555,11606,11908,11767,8139,11799,10921,12418,8809,9383,6589,6668,6483,10703,8777,7373,9057,7256,11445,10223,10528,11994,9448,6875,6593,7142,11931,10168,9547,10095,10979,8752,12783,10155,10842,9980,10570,8626,9666,8297,11497,12468,8206,9117,12649,10093,6728,8629,11517,10456,8419,8044,10806,7833,6692,8062,10954,8319,10656,11421,7185,6764,12239,11974,8960,11158,7901,12590,8764,11625,9282,10180,6830,6887,10398,9398,9979,7637,9994,12306,6657,7460,12392,11473,8609,10532,8910,7516,11289,10753,6624,6460,8571,10142,6987,7611,12302,7104,8425,10078,6444,12844,7312,12434,10091,10540,10294,12000,6835,10036,6470,11554,10761,8442,7563,12401,7625,11700,6558,11283,10051,6993,7626,12213,8004,11677,10818,7216,9393,10815,7434,9635,8691,12375,10519,7178,8601,10147,11397,9521,6883,11754,11489,8707,10544,9596,12133,7150,12719,7895,7201,11598,11719,8909,7047,7839,8537,12666,8341,6903,7337,9176,10775,9567,10057,10455,9848,9508,9918,12557,11307,7192,9836,7251,12398,11342,6992,9184,9509,6604,6464,7649,12576,9906,11820,11104,10130,8055,9272,7102,11726,10896,7798,9877,7900,9582,11599,7175,11995,9646,7504,9783,10096,6815,9007,11873,6473,7282,12424,8631,12770,11998,7343,10473,11371,11510,9515,11829,10552,12417,12211,11977,11511,7548,8099,7058,10635,9390,11572,9418,9864,11827,7005,7646,12337,6552,12315,10301,8534,8648,7874,6672,12588,12706,9782,12003,9175,11203,12190,10947,7962,7182,12497,10195,12682,11779,9052,10848,11348,6405,9528,9492,8591,10745,7117,11528,10911,10233,10949,7980,12541,8040,8343,7299,6635,9529,8877,8922,8505,8047,9477,9564,11962,7141,6968,6856,7818,9746,8926,8248,10648,10452,12643,7230,7233,12792,12430,11521,10185,12229,11655,8564,6788,11221,7622,8722,8440,8935,9705,10366,8906,11980,11923,7080,8916,12114,9101,10413,7983,11254,9744,9378,11382,11643,12199,9574,11763,8713,10980,10791,7020,7704,10326,10263,6384,11250,9178,9084,12001,12415,9628,10012,9732,11113,10604,10319,11846,10222,11577,9573,10884,12261,12750,7421,11423,6555,7273,12262,7272,8522,8260,12606,6971,12340,12045,7652,9943,10790,6994,9266,6805,10028,9985,6620,12746,7976,12600,12148,9553,11231,10230,6448,7706,10114,8624,7383,9426,10568,10972,8279,10910,7606,11697,9071,11215,7789,12517,12873,11130,7070,6938,6544,12406,12008,9720,12341,7331,7488,8417,11217,12815,10407,9287,12785,8054,11592,9234,6842,11017,8000,12758,7749,6812,6548,10891,9754,12360,12616,12817,11804,12538,6877,6615,11738,9586,9323,8420,7807,11346,8774,7003,6524,10661,7013,12861,10633,7055,10987,11039,10364,11761,8002,11463,12737,9924,7825,10709,10466,9926,6744,7387,8664,10547,10804,6530,10123,8186,6652,6721,7875,6666,9747,12090,8796,9400,7614,10875,9414,11608,7988,8477,9357,10177,10870,7836,8216,9056,12532,7173,6943,12825,6804,6988,8504,9898,12888,11933,11349,9399,7523,6863,10999,7471,11665,6560,6717,6951,10636,9944,8775,12268,6747,9200,7951,10113,11737,7463,11363,12382,8766,12812,9672,8995,7198,10632,11898,10942,8874,8990,12368,11449,7493,7511,6829,9752,8458,12078,8699,11142,9124,6749,9213,8479,9193,10957,6695,11635,7437,6930,12855,9041,10037,8749,9109,6902,12707,11881,7072,12359,10321,8123,7613,12405,10936,7623,9588,11772,12537,10187,9111,10638,7943,12073,9329,12612,10577,10207,9074,6801,8253,7147,11757,10058,9409,8235,7711,7221,8167,6644,6893,12076,7585,11066,9452,9524,10926,7515,10229,8075,9100,10357,12522,11020,6683,8244,7610,7870,8278,6706,8694,11403,8330,11964,9197,12094,8959,11507,11731,11171,12232,9845,9437,6572,7092,7682,12887,11720,12345,11965,11558,11273,6793,9902,9417,11127,7812,7604,11466,12733,10126,7998,8079,12372,10138,9601,12801,12257,8807,11249,8897,7696,8375,12317,7827,10882,8275,7596,11243,9753,10874,11979,9970,6419,7422,10719,8107,10276,12269,11549,6892,7099,9537,9533,7826,11734,11810,9854,7546,12800,12106,12335,10117,12067,7990,10752,9837,7264,11670,8763,7295,9429,7496,9707,9216,11879,10261,11026,9882,12818,8451,8945,12030,9519,7592,12630,9152,9013,6497,6575,11304,12833,7662,11459,12395,12235,12412,10647,11009,12512,11818,7932,10657,8944,10615,6980,10724,8893,10281,11379,10914,9638,11016,10014,9000,11076,12638,10668,7617,7368,8866,9726,10778,11787,7481,8915,8753,6727,7792,9089,8016,10541,6837,7865,9289,11585,9733,7324,10043,11214,12047,8374,8242,11493,8289,10182,7709,11195,6563,11033,6385,11704,10337,9983,7694,10751,8152,7971,7144,11293,12040,12187,10171,9668,12680,11916,10618,9343,11854,6821,12778,11640,12416,6724,10998,7461,7128,7263,12435,8282,11636,12631,11323,7406,12848,9310,11547,10651,10850,11053,12311,12280,11024,12300,6506,10248,12146,7989,7817,8816,12755,8358,10811,9003,7258,9566,11574,11576,12110,10770,8938,9240,6862,6719,7953,7380,9241,7006,12883,9793,10885,11540,7277,12744,6730,9538,7492,8163,9660,10196,12336,12079,8093,7483,8027,7354,8803,8352,10379,6434,6707,9358,10505,9203,7115,8029,10244,12708,7657,7760,7438,12144,7638,7209,7397,11413,10300,7725,7753,10854,10920,10539,8307,10845,10634,12263,10097,10801,10918,9792,10335,7446,11381,12409,11095,12598,8033,9060,6849,8014,9225,10133,10572,11481,8402,7120,10101,12786,12702,9354,6977,6428,8690,8984,8975,12653,12171,6896,10387,9933,8717,9185,6959,7569,10016,11699,9640,8620,8765,7644,7806,10173,10857,9559,11331,10027,8183,7297,10762,8095,8326,8942,6665,8486,11460,8413,9387,7379,10894,11663,6417,9168,11861,10202,11196,8762,10484,11326,8533,9653,7236,11487,11743,11711,8565,10965,7964,12458,12431,8371,8114,6569,11520,7587,11968,12634,10186,10060,8323,9394,11048,7593,7107,12241,11687,10582,9487,7432,7228,12716,11057,10403,10141,11320,10297,8659,11251,10734,12838,8950,10589,12085,10576,12759,7919,11853,8580,9160,6451,10312,6855,8433,11145,12145,9897,7401,8751,9086,11206,11972,9402,11946,6446,10470,11826,9204,6662,6585,11094,8715,11514,8771,11441,10887,12361,10315,7405,6740,8218,12007,10419,8865,7060,7600,12526,6535,11224,12477,8116,10140,8815,9700,7018,9806,9556,9012,9873,11840,7306,11541,12589,7856,9268,10702,6878,12170,12820,9296,10721,12373,6410,10423,8138,10266,12718,6576,10432,10683,10642,7413,7007,11079,8268,7054,8302,12101,6841,12768,9685,12249,9969,8219,7819,7339,9080,12615,9764,11298,10765,9342,6472,8734,8886,8889,6698,9386,11479,8084,10124,6511,11444,12714,12862,11735,11956,11098,6964,8472,8550,12160,9091,12880,12621,11043,10242,10280,10293,12243,8781,7908,6538,12720,7482,8067,11773,9814,10290,9309,6908,12881,11061,9530,8317,9589,11807,12446,7449,6918,11462,6989,11085,8672,9029,7633,8105,10444,9909,8263,7770,12761,11191,9021,10645,10038,8210,10122,10467,8836,7787,9779,9292,7042,10441,6423,11177,7125,11768,9097,9229,9942,8376,8168,8409,9872,9828,7508,7247,11411,10368,6402,7869,6889,10359,8980,9869,7320,12850,12581,10298,8687,7430,7708,6689,8544,12438,11275,6777,9475,11859,7444,7568,8851,10768,10349,8201,8101,9167,7170,6899,9610,11405,11996,9077,11815,7781,11942,8869,8159,10620,11865,9174,7110,7822,12185,8122,10525,7723,10205,7112,12364,8617,8996,11300,10930,8908,11838,11505,12824,9380,9739,8973,10958,10786,7797,11164,9758,10797,11750,7528,7084,11805,7643,7635,10780,8884,10238,9592,8309,6854,11632,6633,8191,11536,7718,11901,9777,8585,11388,10696,10982,12674,8175,9960,10526,7395,10235,9137,12247,8850,11759,7557,7086,10707,7859,11701,9326,10583,12206,7663,7619,12049,8264,10838,6881,8281,12186,8150,12149,10153,9539,7232,7336,9364,10108,9831,6760,8162,10068,8334,11412,7345,10553,9886,12675,7648,6571,8843,9135,10600,7088,7996,7844,8695,12380,9917,10701,11764,11983,11220,12194,9037,12275,6774,11961,6650,7969,7892,11143,8614,12121,10613,8962,12698,12766,10880,6737,9196,7154,12038,7019,8039,9903,12478,12472,11186,10197,6734,9605,8108,8728,6484,12591,10396,8574,12568,9054,9361,11684,10785,6904,10893,9976,12130,8557,9844,12381,7595,11245,7260,12884,12225,10487,10237,12399,7527,8838,11783,6739,9099,12265,12116,11812,12288,9019,11036,9801,6885,11110,7686,9363,6539,7888,6463,10946,10823,10000,8083,7218,11457,12310,12596,11966,6954,9676,12437,7716,9618,11835,8755,11170,12700,6653,7291,6618,12404,11374,10943,9420,10121,6681,10329,12673,6458,9290,9955,8076,10740,12319,9151,10489,11040,11673,10550,10909,11023,11424,8569,8919,7073,7661,9269,8596,7360,10579,7804,11652,8985,8618,10411,11315,9669,7105,9927,7342,11484,10286,10915,11432,10496,8902,11548,9714,9050,9132,9183,7774,10391,8205,8383,11281,12745,8045,12400,12652,6534,10508,10736,8532,8603,12559,7204,8589,11093,8018,6600,12174,12413,9130,12466,9422,8932,10781,7211,9740,9423,10435,10934,10671,8611,8831,8362,11106,12872,6781,9125,8720,12245,8382,8426,8492,7404,8723,7239,8265,12342,10587,8498,12562,9615,10682,9249,9937,10328,7920,8037,9683,7091,7815,8071,12504,6486,6775,9470,7692,7656,9129,9632,10653,6656,8009,11476,10542,10389,8797,11288,9629,8503,11949,9667,8030,6501,12125,9824,10530,11900,11645,12089,7931,7262,12654,9460,12490,12061,10378,10767,9181,9036,8273,10035,7330,11973,12358,12295,10795,11897,10193,11264,12692,9815,11450,8416,11334,11906,9096,12816,12138,8905,7252,11297,9631,12058,12324,6523,12012,7733,6631,10607,7146,8294,6542,11438,10951,8466,12518,9353,7480,6503,8473,7355,7048,9855,12814,7676,10829,7905,7056,9757,7045,6509,7212,7376,10819,11430,8370,10412,11950,8879,8188,9461,9140,11116,12781,8384,9456,10769,9385,8117,11277,7752,11553,11030,10923,9532,9313,8976,7525,7305,10282,8784,6831,9169,12795,8225,8798,7063,11721,9719,7250,12010,9518,11400,9271,9179,10011,10174,9118,9044,12043,7162,6767,12849,12035,7098,6502,11880,7904,10614,9340,12059,10385,12506,11628,8876,10225,11657,6455,12266,10334,12845,8097,8041,6543,8286,10159,11365,12646,9730,11387,9162,8215,6846,12095,10557,7862,7219,9315,9334,6485,10903,12520,6950,9244,12726,11535,10163,12561,6858,9325,10626,12696,12222,11615,11689,7466,7509,10592,9449,7868,7771,12507,10094,8036,9330,11712,12127,11485,12751,9194,12264,10561,9966,7265,6566,10206,9171,10975,7838,10978,11503,8678,9295,7242,6956,10678,11943,10274,6499,9602,10629,8968,12019,7352,8434,10415,11212,7754,11527,7769,11725,11246,10846,7462,9651,11125,9236,12385,9784,11715,7842,12516,7783,11844,12448,7246,10217,9941,7743,11380,10970,11909,9022,8066,9576,7512,7067,9823,7538,8706,7498,6577,11291,7566,9328,12651,10922,9857,8446,10595,7702,8640,12135,11133,9767,10513,9687,9890,8515,7222,12730,10002,7283,7581,10748,12451,8804,11369,10628,12439,12060,9759,10059,8407,8531,11003,11500,12333,8368,9443,7439,9822,9034,6676,7050,6975,8747,9303,11716,8783,8923,11664,6526,7658,8276,8999,11232,10272,11151,7778,7270,9593,7866,10531,7298,6415,9274,7863,9439,12482,10574,10005,7318,7310,7039,10426,7779,11132,7705,9644,8772,6816,10213,10699,6679,8760,12309,7416,10347,9839,8204,12481,9062,11921,11015,12279,10605,11985,7852,6898,6500,12826,9210,10397,11903,10084,7766,8861,10295,7351,11299,7691,6430,8744,8057,8839,8833,12461,12830,8198,10169,6661,6627,7207,9959,8372,11569,6386,11287,9684,7000,6496,10783,8291,12228,9312,7564,6981,7717,7707,9302,7726,8280,8918,12166,9525,8914,10766,12697,12721,9032,9350,10025,7057,9893,11935,11168,10941,10431,12390,8714,11271,9190,10392,6387,6995,12870,10116,11508,10964,9078,8106,6874,11694,12327,10944,11784,8553,11567,10447,12191,10571,8823,11960,9568,8853,7322,8837,7390,6928,9072,11244,12126,6579,11482,9723,8190,9331,9063,9454,8025,6588,10262,8491,8144,9670,11311,12432,8651,7840,11228,9416,12531,9620,9606,9769,8911,8718,11954,10152,10308,8928,10913,9142,7474,8821,11717,10424,11813,12639,11970,11531,10327,11890,10658,12603,10007,8641,8790,10747,12473,12204,8404,9199,8992,6802,8686,9261,10938,6546,9277,8406,6532,7038,7835,8519,7678,7727,7036,6525,10318,10017,9415,8956,10962,11324,8461,9575,10102,8180,12236,9608,8428,9736,7076,9717,11004,11863,12474,7289,11992,11141,11991,7518,6693,9790,8070,12308,6704,10720,9425,8900,7043,7886,11429,12463,9133,9761,6611,12624,7946,10405,6923,8387,9255,8134,12827,7588,7353,8952,12285,7124,6547,10906,9649,10401,10899,10803,6517,6634,11619,7737,11596,12023,6465,11393,12346,11082,11869,9899,8457,12168,10183,12747,12339,12387,12157,12689,6927,9681,7190,7993,6768,10881,11586,9146,10381,11121,12876,9656,8934,8403,7138,7341,10590,10652,8528,6673,12594,12604,7069,7729,8072,9441,7750,10902,10179,8576,8224,9712,10573,11149,11842,12326,9591,6716,7937,8240,8304,9946,8170,8058,8431,7118,9807,11860,12552,11612,8160,9121,6675,8929,10369,11647,8612,8272,9516,7292,11146,10889,9453,8121,11367,11617,8500,7744,6457,9972,12459,10232,12553,8178,10659,10343,10966,11722,7268,7814,12890,9535,7194,11207,11398,9374,9595,12031,7241,10054,9123,8613,10303,7554,11550,12731,8195,10346,11452,9829,10654,12420,7620,11877,9774,11914,10409,12456,11590,8303,7500,7612,8551,9658,12287,11112,9189,12322,8320,9743,6940,10144,7944,7664,10698,8468,10663,8443,12407,11727,8965,10170,8111,11638,9866,8078,6867,10793,12102,12810,8841,12231,7982,10001,8548,7035,7259,11456,9788,12037,12267,12797,9486,10500,7731,6773,9314,11629,10792,7332,7224,7530,6997,8034,9770,12120,9187,7949,7994,12022,9217,11878,11339,12676,6973,10556,10863,12259,6545,10992,10670,9495,12122,12489,8822,11465,7111,12715,10697,7721,7720,10877,10325,9163,7724,12636,7313,6580,12408,12286,7667,9367,10646,11971,11925,11816,11472,12494,9812,7502,8336,8423,9619,7015,9260,8619,9928,11828,11785,11408,7880,9841,11882,8494,10612,10464,8438,7253,8149,11653,9488,6828,11515,9662,6729,12529,11175,8074,6510,11443,9794,12580,7096,11108,9356,12545,11435,10774,7248,11390,7453,9112,9410,10132,10041,10437,6394,8236,7746,12722,12436,9352,11392,8390,9242,7764,9913,12584,9444,9549,7217,10390,11103,9598,8255,9094,7280,6920,6466,11038,7227,9522,10257,8496,10079,12107,7340,10968,8249,10816,8849,9691,7455,10137,10545,12614,10434,12447,8741,10220,7059,11329,10112,11739,10704,11306,7062,11693,9338,10637,7536,7089,7255,12809,7999,12769,8088,11680,11312,8969,10283,10292,6894,10578,11912,9445,9419,10009,7719,7615,10353,8679,11453,10481,12846,10662,8061,8166,7776,7911,9696,10503,6786,12224,8339,8350,8173,11042,7526,7539,12427,8203,8363,10190,11907,7392,11461,10855,7555,7169,11611,8182,7133,10799,12296,10504,9931,7494,8465,7329,7553,7861,11947,12167,10375,9119,9908,7577,9930,12272,9550,8819,8526,8688,11955,6701,11302,11661,8710,11316,10939,12338,6551,8921,11600,9637,12671,10104,9369,8312,12173,10090,8904,12329,12016,6475,12455,12196,11605,6471,12650,12703,7294,10900,8507,11953,7689,12804,8119,6934,9372,11458,6778,7159,10352,6603,10356,9945,10814,7788,9625,7552,6834,6941,6722,11559,9657,11296,12578,7855,7811,9965,11006,8229,8042,9612,7906,7598,9471,10311,11399,12450,8398,11658,7356,6498,12180,8977,11270,11796,12325,11337,7049,12252,7334,7942,10350,8369,8536,7177,9674,10554,11928,6853,8145,12582,11888,8880,9551,6848,9457,7008,7665,10491,8835,7188,10331,10994,11875,10278,10042,11046,9802,11209,7240,12469,11219,6936,7741,9238,7487,6606,12036,10727,10522,7529,7215,11530,8096,8342,9339,11797,9885,7790,11305,10802,12492,9262,7881,11385,11845,7879,12086,7958,12566,12181,11679,8846,8735,7810,11011,10125,7037,11708,9936,6454,9155,8801,9030,11986,8560,9741,11378,11499,12402,9306,8581,9786,9411,12743,10969,12510,11533,9223,10384,9170,6944,9391,10023,7308,12017,12134,8573,6568,10344,7590,10073,12558,8295,11434,10143,7075,11984,12835,10821,8361,8222,12875,6972,9652,11803,11185,11356,6901,10674,8429,10596,8161,8750,10905,10713,7279,11368,11002,9413,10872,11447,12857,10546,11099,8373,7223,6582,9536,6614,7024,8151,9090,10712,8575,7044,10320,9817,9849,12836,10879,9004,10499,11319,8650,7160,6488,8480,7237,6641,7314,10336,10897,10258,6596,8086,11126,10807,12379,10758,10139,7768,9929,7433,11222,10231,9621,12739,9485,11268,6629,10788,7796,10948,7698,12886,10210,10249,9813,7808,11440,12077,12220,7066,8637,10427,12668,8638,10602,7451,8239,10469,8113,11375,12813,7375,9474,8872,7803,6416,12396,10730,9466,9248,7591,8677,9858,7547,9699,12428,11692,12868,7346,11821,12859,11544,9702,10076,8019,12476,7032,12705,9082,8131,6967,7285,8102,12892,9389,7940,8852,11686,8759,11786,7423,10533,7288,8523,8820,6646,9088,10534,-1,66,25,86,31,56,60,44,83,49,69,69,31,69,104,90,79,113,12,6,23,34,16,42,50,82,86,104,84,28,31,63,59,47,91,104,62,47,71,31,19,115,126,68,38,23,24,31,26,58,124,22,18,114,34,69,75,93,110,4,1,11,4,113,83,21,25,81,42,120,21,138,93,70,88,27,87,32,88,77,117,27,71,7,113,79,44,12,177,79,60,29,192,23,122,82,82,84,85,31,87,31,120,86,62,203,23,18,27,24,84,26,37,27,5,160,113,81,44,115,71,29,22,6,115,91,60,138,61,123,5,90,50,124,22,44,51,84,117,114,44,1,90,23,124,60,65,72,97,83,80,121,38,113,31,112,80,25,60,62,117,31,33,7,21,2,86,54,223,21,212,14,89,20,21,48,100,121,86,110,32,35,120,82,55,77,23,16,115,60,57,36,62,50,119,169,117,67,47,3,65,36,87,117,25,22,48,20,6,3,60,72,66,140,31,50,86,46,63,95,108,23,126,81,58,114,114,0,44,23,124,113,109,87,100,115,83,67,1,91,21,60,38,117,23,9,3,38,26,114,106,1,34,41,25,80,89,14,161,126,84,109,75,22,44,91,48,38,76,17,94,21,56,48,30,23,207,205,92,115,36,129,56,92,23,115,26,19,108,117,6,37,99,54,92,29,54,59,23,5,79,217,49,26,192,25,3,42,1,30,41,91,83,2,110,116,60,114,131,44,60,67,90,33,30,23,78,46,106,92,29,87,91,21,115,104,48,91,79,0,27,82,73,60,9,97,106,119,81,79,4,92,24,27,86,91,84,83,43,60,138,24,23,14,36,36,26,33,49,31,126,68,33,92,23,83,31,4,60,50,24,18,5,89,60,54,117,94,114,71,20,90,110,41,30,112,23,74,14,20,58,109,40,229,33,32,87,89,126,7,25,107,91,122,11,95,97,92,23,50,23,19,82,48,91,94,169,64,65,56,5,60,126,10,121,47,58,23,5,81,202,85,68,117,30,140,50,92,29,13,9,79,80,50,7,48,7,125,84,54,96,13,94,33,31,71,82,13,11,77,90,4,125,83,86,29,24,115,64,60,42,1,19,124,63,33,22,21,62,46,82,48,120,87,25,23,4,92,31,28,127,75,21,50,98,81,14,43,26,56,34,200,36,7,145,80,125,23,216,106,33,14,58,117,89,77,71,11,124,105,27,123,86,91,42,26,80,8,43,63,88,109,86,33,124,86,86,115,116,100,106,65,50,220,27,124,87,102,77,97,125,36,60,33,54,1,60,50,87,29,39,1,90,47,42,37,100,26,55,27,35,61,102,113,35,117,4,86,100,216,0,88,33,10,83,104,87,72,72,78,60,16,94,50,109,116,73,12,82,71,38,77,86,116,112,48,31,19,120,46,38,38,27,77,48,65,24,67,197,1,0,90,39,9,218,115,56,60,114,31,86,80,78,38,73,57,58,60,78,254,126,43,26,122,154,36,85,81,4,23,44,122,27,47,38,119,215,30,78,125,49,33,89,20,30,66,77,48,29,89,22,7,86,73,69,59,29,68,113,121,50,207,206,60,83,61,109,89,58,91,63,19,27,6,79,86,148,84,108,5,15,229,56,78,68,48,117,60,114,30,69,81,48,44,9,12,115,50,103,30,125,10,60,86,22,2,25,26,86,87,115,16,68,2,125,117,44,29,49,115,253,126,33,124,125,42,108,64,48,83,51,122,81,78,21,12,59,1,1,88,121,26,112,49,68,89,116,229,33,120,87,62,11,31,48,23,220,31,54,84,31,90,97,27,34,79,14,83,77,80,85,212,60,121,150,77,79,84,17,6,98,90,89,18,31,110,27,92,7,71,91,31,49,70,4,1,89,51,105,32,41,90,70,127,66,62,25,7,92,105,0,8,122,31,84,62,77,115,25,93,99,34,33,7,201,106,7,201,30,21,91,31,114,126,7,78,29,56,11,86,191,24,245,73,1,69,65,23,81,34,105,21,86,63,56,23,5,86,106,117,5,117,16,95,67,20,222,28,27,6,85,78,64,3,79,104,109,115,8,14,104,141,18,8,68,31,48,114,38,82,29,52,92,36,94,65,63,56,56,25,100,229,23,111,63,89,27,119,27,48,54,25,17,20,100,48,131,14,4,2,80,131,150,98,78,22,50,224,7,2,4,86,42,205,23,57,24,60,113,1,85,91,18,81,24,89,47,83,80,21,117,77,81,86,80,59,81,91,86,72,26,87,112,21,157,86,124,86,90,57,49,65,52,97,58,49,77,113,115,138,12,123,64,113,117,22,62,104,52,49,114,21,97,91,21,113,21,91,110,78,67,89,115,8,33,60,25,76,115,71,23,66,80,66,31,37,6,60,48,42,100,95,21,14,93,112,117,89,82,252,121,23,21,85,69,81,90,63,254,70,102,22,199,128,11,115,50,98,89,64,67,21,23,95,0,93,127,47,125,18,124,52,54,92,109,117,31,62,91,95,71,11,25,88,8,81,110,23,65,50,117,134,4,72,120,123,86,4,93,73,37,83,80,48,68,9,21,6,62,76,106,11,45,1,173,31,37,37,79,116,56,81,23,187,30,71,126,6,60,110,26,31,28,244,49,122,175,82,23,92,113,60,121,92,121,19,86,90,40,67,191,62,158,65,117,48,29,47,89,39,58,109,56,11,50,52,60,27,21,22,67,68,92,20,194,27,91,87,115,40,60,60,29,11,51,60,105,121,101,0,4,61,29,81,91,200,69,5,91,86,114,56,14,54,104,97,23,92,72,36,72,77,241,84,10,4,112,123,80,60,79,9,56,40,100,17,59,44,31,117,23,31,94,48,67,88,82,5,80,87,27,86,70,60,69,121,44,114,27,34,127,50,90,82,11,116,73,110,97,60,127,61,77,85,151,117,117,43,83,43,71,236,83,91,33,87,48,38,14,50,48,85,29,109,1,37,209,55,54,86,51,81,24,32,14,122,106,106,44,113,117,85,42,20,81,68,27,25,91,29,80,114,51,31,80,60,138,71,112,83,91,83,1,122,30,114,25,84,43,20,90,86,58,84,81,45,63,123,214,84,112,82,89,100,85,69,86,127,84,58,56,107,20,83,114,38,17,127,11,31,139,77,78,62,1,122,56,95,78,86,84,29,1,211,29,1,121,91,89,49,40,1,37,120,123,104,31,83,56,17,88,107,38,35,1,21,24,14,88,79,14,25,14,82,23,77,66,128,228,112,109,27,60,106,100,50,2,1,26,68,111,21,91,7,109,83,114,86,14,48,54,60,4,22,52,48,56,116,82,6,116,24,71,21,116,114,31,106,49,72,114,7,147,64,40,31,40,1,212,84,67,81,60,83,104,36,23,56,60,89,122,81,12,11,22,78,100,93,106,25,108,114,25,20,27,81,88,44,17,42,86,18,56,75,48,6,3,75,80,54,55,38,35,236,10,127,21,75,211,92,11,14,88,46,3,44,115,126,81,91,79,87,23,114,62,126,115,91,109,31,22,47,51,48,60,105,114,67,23,184,83,64,29,11,27,64,37,11,62,84,34,76,21,68,10,79,31,40,17,114,114,109,24,24,120,131,56,80,11,62,28,23,11,37,48,39,65,29,86,5,56,167,27,86,72,42,58,31,72,109,91,30,34,104,114,107,133,33,49,68,50,25,58,52,1,58,117,84,56,123,57,77,26,21,27,75,240,12,81,33,67,16,113,23,44,14,58,21,34,19,109,7,37,50,46,35,19,31,76,133,120,84,122,5,82,84,91,65,30,67,58,117,83,50,26,90,70,26,226,33,81,97,50,63,21,39,21,21,48,126,90,255,68,90,56,71,36,89,23,113,25,94,27,113,54,229,88,60,58,57,30,127,64,118,58,66,105,62,80,83,91,59,90,56,92,74,34,21,67,94,77,79,47,86,11,94,77,125,5,117,86,13,32,48,25,34,90,117,76,79,117,110,26,92,80,83,36,25,31,80,244,81,48,123,144,63,217,58,106,122,22,11,14,113,59,87,81,23,138,73,86,17,23,148,25,46,47,94,127,126,143,47,58,33,117,85,121,17,65,203,62,113,114,37,124,122,89,45,44,16,48,127,113,16,60,83,31,23,1,91,224,7,27,4,82,57,7,58,120,1,72,68,97,1,54,42,60,42,69,139,58,21,91,69,23,58,235,21,1,17,14,69,84,14,69,82,75,48,80,31,24,4,48,60,74,59,220,114,89,115,117,60,37,94,1,84,50,46,68,34,27,95,60,83,69,97,36,5,50,74,14,52,80,27,85,40,26,11,59,86,84,88,71,122,29,4,46,127,32,78,21,83,203,3,23,92,104,64,109,78,30,115,94,114,23,28,17,80,121,218,60,114,114,1,48,72,58,78,113,126,75,79,126,114,63,113,6,48,49,124,127,38,114,105,27,81,233,26,97,84,60,22,37,83,16,14,2,250,21,40,113,11,92,102,33,93,51,50,231,121,171,2,94,56,7,68,81,72,29,60,10,29,21,22,24,1,82,113,41,9,3,70,21,71,89,46,5,14,86,33,75,97,21,88,124,128,91,56,24,82,33,71,137,11,34,29,45,54,239,36,50,7,31,48,56,25,117,23,85,43,102,115,117,17,85,44,96,52,26,127,71,11,27,53,44,128,12,113,39,18,36,85,126,71,50,42,2,90,37,38,34,30,97,21,115,113,43,62,52,2,82,37,250,66,59,109,24,57,73,41,66,3,66,1,23,21,68,205,5,25,60,115,81,58,21,113,86,57,80,117,125,221,25,175,14,92,86,112,83,20,87,27,86,44,223,25,51,64,121,31,90,60,117,81,126,72,75,50,4,39,36,87,25,201,86,117,12,27,56,3,21,72,86,100,48,87,34,86,69,82,78,10,33,50,27,48,26,6,90,239,83,91,88,33,73,11,2,116,60,80,125,93,92,122,7,31,75,121,21,156,79,66,67,95,11,35,2,38,104,3,85,72,15,14,124,27,14,27,19,67,29,46,86,78,86,85,114,89,58,84,74,109,108,22,21,71,69,47,11,3,124,125,25,27,72,120,89,110,86,24,121,14,11,31,14,1,50,37,68,61,90,44,60,60,131,148,124,5,94,36,81,22,20,84,109,80,50,231,19,68,54,82,88,31,24,59,81,100,102,85,29,76,6,114,46,69,40,104,7,84,60,17,101,33,100,50,189,44,33,1,22,113,34,64,86,195,127,84,72,21,109,25,58,5,85,47,54,32,27,31,21,1,12,11,88,11,33,173,86,75,31,11,90,117,46,10,1,52,30,58,44,42,56,52,68,33,21,24,23,201,62,56,231,63,23,34,65,125,122,82,2,82,82,60,72,79,4,239,93,31,28,60,19,43,24,4,14,26,72,58,30,4,77,60,97,121,105,79,2,27,25,104,86,98,90,126,87,2,66,62,115,100,59,120,74,98,63,14,90,31,84,91,42,3,117,39,6,71,207,75,43,39,17,29,19,98,21,111,76,85,106,80,71,13,38,37,208,67,50,13,120,24,79,74,37,23,34,60,45,76,68,63,79,64,115,33,123,89,90,27,87,7,104,249,112,3,136,23,50,79,13,65,97,17,97,72,89,13,50,49,113,84,2,121,94,79,4,107,14,69,93,26,23,115,110,82,117,77,51,5,89,115,24,83,48,23,23,123,60,1,111,90,117,46,60,102,75,77,83,26,2,219,1,112,89,17,42,56,3,96,87,50,52,117,80,121,48,82,227,77,119,83,24,6,78,45,100,1,109,77,117,4,5,22,93,59,79,60,82,89,87,115,121,127,91,14,63,19,60,86,31,14,26,0,105,27,78,1,92,115,67,50,104,77,114,123,214,33,9,124,50,114,114,7,247,42,115,67,22,119,26,115,40,77,114,51,22,17,84,30,112,14,86,94,125,167,92,71,90,18,55,14,24,31,40,1,89,24,23,93,27,56,83,125,88,227,27,59,48,31,82,13,126,85,25,80,25,6,2,11,83,91,94,21,10,25,23,87,66,89,23,126,77,78,23,78,21,60,64,83,14,22,32,80,2,25,84,94,19,27,67,33,21,93,24,97,125,92,6,91,74,21,79,5,27,33,56,68,30,79,50,94,14,86,104,38,117,111,25,60,30,15,32,106,16,93,7,68,1,87,114,80,74,66,29,24,92,48,33,100,7,39,105,26,81,25,242,123,46,109,65,82,91,48,207,123,26,50,40,95,90,26,52,84,38,123,29,121,8,23,76,91,11,75,56,89,77,60,78,121,60,11,242,24,78,66,9,56,88,50,106,71,71,59,81,54,8,104,17,16,28,97,62,83,127,109,78,86,127,11,21,23,99,16,77,57,90,6,11,61,124,34,31,104,97,68,58,78,11,31,36,48,119,50,5,116,95,122,49,50,123,68,29,11,29,75,89,25,57,137,29,39,113,79,29,22,64,23,113,81,84,91,23,27,47,127,71,31,110,3,111,48,81,124,17,110,87,60,76,72,34,91,31,5,59,81,52,121,123,14,48,28,72,86,121,97,33,50,33,62,62,33,121,72,23,139,20,20,102,1,23,215,74,97,68,88,84,44,114,7,114,31,48,23,95,43,31,69,56,117,4,83,109,83,191,57,58,38,141,25,38,45,126,80,5,83,88,115,21,60,29,23,25,25,84,21,4,67,4,83,14,40,129,60,48,141,87,42,95,19,58,60,61,44,7,14,71,71,19,48,25,31,17,14,52,117,240,43,104,40,72,123,97,26,177,177,218,25,60,67,86,78,120,29,89,44,19,62,123,23,60,27,56,27,68,49,100,89,67,1,112,121,42,72,73,41,38,10,12,58,56,110,1,50,122,91,60,14,67,113,73,30,7,94,66,40,233,29,44,29,84,21,2,16,58,11,86,30,24,24,83,206,17,89,120,7,20,60,66,114,124,6,174,49,109,40,60,79,30,23,113,50,33,86,121,11,125,29,11,24,70,69,9,33,67,112,92,77,213,54,28,110,45,87,26,15,11,21,100,24,123,91,60,6,19,140,5,25,58,30,24,119,7,34,20,29,87,21,66,59,124,91,89,48,31,60,40,38,14,72,23,80,56,54,17,50,84,126,11,128,7,46,62,75,89,22,86,60,116,123,44,51,23,14,21,62,118,68,117,43,31,60,127,64,113,17,7,236,7,59,22,124,89,52,76,127,67,125,116,37,9,17,47,71,25,82,115,80,83,29,31,88,28,36,22,117,113,92,75,48,98,20,59,87,23,19,115,56,113,66,87,24,83,117,82,46,29,30,85,122,21,50,15,112,36,21,86,71,34,241,11,44,109,96,74,125,100,115,77,31,127,56,100,19,86,113,1,82,40,17,24,92,21,0,129,88,1,86,91,113,61,32,20,78,113,78,72,58,42,159,44,5,21,106,215,88,14,64,29,91,56,22,173,83,117,86,11,31,95,34,87,22,10,80,109,25,29,89,117,60,21,46,126,11,88,6,85,28,181,116,86,34,109,132,46,21,89,121,81,134,85,108,11,96,54,90,79,75,113,28,21,108,81,11,84,24,48,15,30,104,103,31,23,7,80,38,34,56,63,54,92,89,127,7,213,56,52,1,109,93,106,98,31,48,43,31,89,109,31,69,122,44,0,117,100,81,64,86,17,80,27,36,78,6,112,27,66,90,21,96,16,124,121,25,92,60,38,83,124,123,84,70,3,100,51,75,54,46,125,77,82,227,56,5,12,40,68,63,32,106,107,73,54,87,73,82,49,28,125,97,79,109,34,115,100,6,81,65,106,84,113,60,95,48,85,10,31,67,64,52,7,81,2,56,46,21,36,24,160,27,34,31,40,21,31,120,67,51,72,12,10,91,83,1,82,39,5,31,41,68,29,17,26,77,42,29,48,109,92,13,86,32,67,5,25,1,24,94,25,56,40,50,35,125,93,188,77,89,82,48,50,60,21,31,87,94,92,125,64,126,106,81,0,90,29,150,116,31,71,27,60,24,84,79,21,85,16,54,33,86,111,84,164,33,7,71,104,219,208,77,39,127,27,241,29,82,43,37,127,46,86,93,67,87,23,1,91,78,31,84,43,48,23,51,92,26,80,30,58,110,31,115,148,77,89,31,120,25,23,89,23,35,54,14,81,84,54,68,83,34,80,47,17,11,47,63,46,126,249,25,24,6,33,46,9,8,54,121,33,85,26,81,43,1,27,82,192,89,83,6,44,11,81,48,127,91,77,86,72,114,122,27,58,28,125,26,60,86,46,17,72,86,31,28,17,79,88,30,89,69,109,1,117,76,20,32,222,23,6,68,23,50,89,127,126,7,45,30,0,91,80,108,26,79,111,117,95,56,82,14,87,46,56,231,81,122,173,122,85,78,61,112,56,105,73,112,250,222,84,20,58,30,6,25,89,72,90,117,123,9,48,157,14,124,14,93,109,127,6,79,30,0,34,40,87,189,36,57,30,30,62,76,240,31,15,30,2,78,27,121,6,15,11,84,144,76,67,125,22,25,173,8,12,114,113,58,12,21,81,63,1,6,26,31,76,42,11,71,105,124,38,5,26,24,21,54,23,100,93,25,26,84,90,173,50,26,56,10,37,96,89,11,75,3,83,7,91,223,63,51,40,30,19,114,80,80,82,85,46,33,10,25,54,26,24,85,52,77,16,71,80,56,23,50,66,115,85,65,80,68,87,56,87,4,92,115,72,60,79,105,67,106,123,68,82,4,81,50,71,40,93,113,29,86,50,60,67,89,83,63,100,92,71,4,195,240,37,5,19,1,123,124,69,62,6,82,62,22,117,76,21,69,40,43,115,71,83,29,72,31,79,65,109,31,86,63,91,36,90,71,25,5,69,4,80,9,31,1,109,28,25,100,111,86,60,30,27,97,240,86,26,99,115,22,80,53,26,104,50,58,62,127,14,86,125,31,40,125,14,24,46,104,60,214,72,51,114,91,29,57,115,14,90,6,75,114,22,243,83,109,134,87,14,39,85,72,21,104,48,58,94,97,1,127,88,15,20,31,9,113,20,50,150,88,23,46,16,30,87,92,22,78,125,56,117,126,68,47,106,73,24,98,1,0,11,5,56,1,79,110,113,25,27,35,50,115,83,99,60,80,1,106,21,49,64,123,56,1,22,81,78,22,48,86,182,11,105,1,7,18,11,35,86,142,71,34,11,37,9,22,156,19,7,42,25,76,29,26,27,60,117,5,40,124,60,126,37,9,115,135,91,208,71,30,50,50,70,21,24,31,92,25,1,50,21,64,12,34,216,37,64,78,23,7,83,31,83,87,106,7,84,69,45,113,9,79,80,69,50,167,230,193,55,37,33,67,127,85,123,124,82,51,15,23,1,93,36,86,29,29,90,62,84,50,48,115,81,84,47,79,3,32,23,75,26,60,44,4,44,50,54,89,243,43,83,58,56,50,113,62,86,1,52,19,83,66,76,104,110,93,24,1,166,29,31,36,49,124,40,54,106,79,29,13,121,200,84,1,31,0,126,71,92,34,91,83,116,0,114,31,82,27,58,102,114,22,118,93,48,236,58,82,25,86,104,87,22,25,14,136,121,56,23,33,127,60,85,56,92,42,80,21,86,126,111,22,11,37,80,77,114,27,10,52,128,121,84,86,22,111,6,29,31,214,90,27,70,86,2,26,67,82,108,76,86,19,86,33,52,186,104,125,112,58,80,57,114,99,46,88,2,221,60,126,47,24,8,67,109,34,21,1,30,95,23,56,88,121,56,86,86,3,62,33,80,116,74,40,46,83,94,14,21,117,38,25,54,81,109,39,203,113,54,100,48,54,12,11,90,71,233,37,23,113,85,20,7,59,60,39,92,125,12,26,11,1,14,26,37,37,111,31,61,58,115,113,124,60,117,121,27,31,112,31,26,39,74,37,98,77,14,84,92,86,21,113,88,10,98,81,54,69,84,48,79,0,72,85,113,81,60,16,21,22,127,76,84,110,77,2,81,33,86,27,31,77,193,89,31,110,113,55,68,91,106,71,14,50,21,34,83,83,56,251,123,66,25,83,213,54,11,62,27,109,91,58,1,64,114,56,34,23,6,52,45,21,5,39,87,123,125,40,11,121,22,43,31,48,88,114,80,115,226,85,17,88,83,48,21,20,10,67,33,7,38,14,127,113,114,72,27,11,63,59,69,23,77,93,30,72,11,83,26,32,31,24,58,114,21,23,31,117,4,21,134,114,50,129,21,112,60,28,237,25,37,91,66,28,16,53,42,22,85,91,88,110,36,98,77,104,64,19,86,115,91,11,113,7,50,8,33,76,21,11,109,38,224,25,38,82,87,33,19,122,5,64,47,87,50,115,106,73,49,24,31,113,17,83,21,14,23,48,25,23,111,172,77,95,54,55,27,11,67,22,94,117,54,110,33,31,42,57,84,51,56,83,140,56,113,12,26,121,114,67,41,88,86,46,86,69,58,91,26,239,30,82,26,26,169,50,94,183,32,56,30,46,25,31,11,115,21,8,13,79,127,34,79,50,68,24,21,23,41,60,12,116,58,62,31,202,38,104,20,14,97,2,25,68,1,81,7,92,66,37,50,51,2,124,21,89,232,23,31,29,190,60,78,105,121,54,117,25,196,6,86,5,50,39,113,27,79,56,31,124,39,52,44,10,81,94,11,94,70,238,28,16,48,5,86,63,91,104,94,7,115,69,27,25,4,23,31,17,121,37,25,21,33,26,56,79,120,2,32,80,127,48,31,123,59,64,127,31,58,117,125,56,21,246,87,31,86,52,121,60,27,124,36,58,61,79,106,47,6,95,63,13,1,2,49,100,126,80,91,27,80,123,50,116,25,37,86,84,236,119,100,27,64,5,49,12,76,30,236,60,71,2,89,86,21,60,107,126,60,24,114,54,13,71,126,126,84,68,84,104,26,122,155,113,82,31,121,34,54,27,58,86,132,49,10,67,123,56,71,87,85,27,72,43,83,94,50,56,73,1,58,56,29,82,48,92,117,75,40,86,89,50,27,21,31,22,36,115,28,14,86,5,63,59,26,48,4,23,77,114,59,23,99,136,19,86,29,76,63,23,71,22,89,110,29,63,117,77,5,88,122,105,19,46,1,25,25,86,86,217,47,4,6,56,83,216,12,113,112,121,48,110,23,114,125,216,113,1,82,231,86,50,144,1,55,28,23,91,238,14,50,21,67,23,48,47,114,93,27,115,188,87,8,27,120,62,115,50,109,88,57,40,113,222,31,79,5,223,79,199,116,74,67,65,94,114,21,66,120,126,11,195,39,113,3,150,69,34,35,25,113,108,70,56,86,23,80,230,83,86,48,74,29,106,6,32,19,164,84,81,5,104,142,97,20,41,56,125,19,29,115,106,85,90,34,56,105,48,77,81,104,29,5,7,21,127,114,25,86,114,90,23,2,109,22,115,10,144,83,112,83,30,59,14,73,5,138,1,31,22,63,127,48,94,71,54,196,36,62,10,71,12,48,97,157,2,124,21,98,95,79,58,50,71,80,204,91,100,110,90,102,86,92,78,31,77,86,73,60,81,60,22,82,81,24,224,23,25,11,110,92,90,39,97,63,77,91,33,48,85,83,23,7,65,0,106,104,26,210,52,68,90,52,90,34,33,117,107,108,125,68,4,113,125,31,5,55,33,6,120,11,98,25,17,76,49,24,250,27,70,56,46,14,68,27,54,30,72,71,63,60,40,177,66,124,104,23,62,69,42,84,94,85,26,58,14,56,6,80,66,124,29,54,112,100,92,63,90,91,33,1,41,122,95,23,84,31,119,81,31,126,99,50,133,94,81,57,120,166,93,0,45,22,62,250,28,21,60,112,90,127,78,80,95,34,27,22,114,66,86,23,121,10,1,7,92,108,71,23,81,49,79,88,127,73,31,11,109,92,71,6,110,112,28,24,126,224,24,1,54,52,98,117,111,145,48,84,83,71,112,59,99,91,109,52,238,30,81,67,87,126,58,176,200,21,79,91,63,5,77,51,70,56,39,25,131,73,50,87,29,113,90,34,6,29,116,70,109,86,17,81,233,125,94,91,21,12,83,14,56,113,49,8,6,38,40,67,35,85,50,83,82,28,11,84,92,29,60,74,23,50,34,77,34,71,110,84,11,87,77,83,62,56,125,141,47,59,112,80,12,44,31,8,127,50,58,89,28,41,79,104,71,57,57,92,79,31,80,21,169,5,20,56,249,60,69,74,78,14,60,14,77,127,56,11,57,56,96,31,222,68,60,58,25,78,25,235,91,116,60,87,91,86,84,44,23,1,120,94,143,68,73,48,26,148,78,78,26,115,60,19,69,91,86,44,78,105,83,71,22,83,67,69,96,8,58,241,29,104,123,93,69,114,122,104,52,113,113,44,46,71,48,42,31,30,86,92,51,58,98,50,23,93,29,82,68,120,124,89,96,68,26,79,113,42,234,25,31,24,124,52,9,78,71,112,7,106,112,88,5,29,86,213,91,80,86,121,71,38,86,227,86,21,31,50,219,81,31,23,36,117,11,58,84,60,93,88,45,131,112,44,14,36,36,50,61,115,78,64,46,125,44,87,122,87,115,21,71,78,73,196,64,56,81,66,21,150,77,253,37,76,77,115,60,2,67,31,50,38,22,50,57,46,81,250,76,6,100,60,126,79,31,126,82,23,21,43,230,109,112,107,50,68,6,29,34,124,99,33,116,50,36,75,114,82,115,25,127,23,21,38,23,114,48,60,23,88,4,75,233,100,31,119,45,121,102,125,17,58,102,85,54,1,83,62,93,113,53,91,85,45,58,25,74,105,104,40,15,48,48,87,87,56,77,44,29,38,84,77,56,102,23,86,8,114,23,33,23,1,114,29,11,62,104,113,81,84,7,65,87,121,6,78,54,86,30,97,90,27,67,111,81,25,68,23,118,11,33,78,36,20,60,55,6,83,6,117,43,11,109,231,40,57,57,2,47,12,105,111,50,6,13,64,71,71,32,58,7,7,4,31,82,68,6,56,79,105,67,11,242,79,5,14,4,47,112,32,82,115,18,79,70,77,114,77,23,91,9,48,40,50,117,107,1,78,27,121,139,105,124,128,114,95,27,5,23,201,90,77,97,24,15,22,197,14,60,115,68,124,36,52,124,46,0,126,86,13,14,24,228,59,105,27,80,10,5,124,68,27,66,48,124,60,50,17,25,29,0,59,104,14,145,81,89,80,127,86,198,117,6,91,21,12,76,35,126,31,24,87,117,111,41,58,35,93,115,126,107,28,51,7,86,40,2,112,255,113,243,44,86,17,19,47,35,23,7,88,86,74,86,41,107,34,25,239,139,96,3,3,64,79,50,21,31,71,126,18,60,123,194,19,19,156,84,87,27,27,31,31,173,30,153,73,23,20,80,62,43,177,80,68,121,18,50,98,31,33,71,25,51,25,71,104,54,96,69,21,27,149,62,97,50,174,113,115,31,50,8,34,82,32,171,58,60,115,84,89,37,6,116,43,59,205,71,69,69,31,86,104,93,134,73,56,7,92,89,58,33,30,50,71,67,12,54,86,78,26,23,4,44,125,76,111,76,86,31,23,34,9,20,97,21,69,23,25,16,22,58,115,31,12,21,50,78,54,67,200,112,54,83,106,138,123,20,114,94,51,27,77,112,37,113,88,26,29,242,86,50,86,86,234,110,49,33,87,71,69,62,1,45,81,77,2,23,51,116,125,63,76,94,64,25,5,247,23,92,35,33,136,23,84,34,117,48,124,48,11,111,86,2,14,115,208,97,29,120,4,25,48,203,42,44,2,120,19,27,56,126,112,37,41,76,33,31,203,108,6,91,59,0,28,103,21,27,21,76,126,34,89,71,62,155,12,75,57,2,25,30,125,38,82,42,13,82,124,48,7,102,123,121,22,39,162,86,12,81,82,37,50,124,56,92,29,19,60,116,57,45,106,84,86,83,17,50,94,87,1,71,90,27,50,143,60,115,40,25,23,49,1,77,115,57,124,71,58,71,33,4,50,23,21,130,50,91,13,22,11,21,26,23,23,122,69,117,26,20,38,38,109,113,2,21,56,62,91,96,116,40,11,99,63,49,60,5,49,18,14,203,83,60,49,77,91,32,6,126,98,23,89,58,11,29,40,18,115,84,114,6,44,104,123,66,80,48,17,120,8,5,23,25,96,50,56,201,31,117,89,87,91,65,1,50,27,21,1,38,69,81,129,50,27,244,11,5,238,50,23,90,71,8,80,122,42,105,217,79,81,87,83,24,11,106,68,44,77,48,1,80,83,66,88,87,126,27,27,124,228,6,242,11,17,5,116,34,42,124,43,3,39,52,57,30,2,56,56,0,11,37,33,6,27,77,29,1,77,139,21,50,57,48,117,252,14,73,74,52,79,48,31,48,56,115,23,84,48,79,1,71,82,82,52,72,48,117,48,28,6,20,11,52,82,25,217,7,51,83,74,50,0,78,58,11,108,71,62,18,82,29,124,68,59,56,88,26,86,72,78,79,6,44,6,19,27,25,40,6,12,236,124,231,7,83,234,6,115,48,83,88,97,74,84,83,64,44,125,85,121,116,71,117,77,22,112,31,21,6,21,20,162,79,59,71,20,65,100,50,65,123,78,130,44,42,82,80,41,76,114,66,112,27,29,125,229,117,115,88,6,115,90,117,20,142,21,29,4,0,26,27,176,5,82,1,93,117,113,12,86,48,1,65,48,48,48,44,19,104,8,25},luamw))if a then a()else end
  local a=load((function(b,luamw)function bxor(c,d)local e=0;for f=0,31 do local g=c/2+d/2;if g~=math.floor(g)then e=e+2^f end;c=math.floor(c/2)d=math.floor(d/2)end;return e end;local h=function(b)local i={}local f=1;local j=b[f]while j>=0 do i[f]=b[j+1]f=f+1;j=b[f]end;return i end;local k=function(b,luamw)if#luamw<=0 then return{}end;local f=1;local l=1;for f=1,#b do b[f]=bxor(b[f],string.byte(luamw,l))l=l+1;if l>#luamw then l=1 end end;return b end;local m=function(b)local i=""for f=1,#b do i=i..string.char(b[f])end;return i end;return m(k(h(b),luamw))end)({8665,6774,4651,7188,5566,6847,8113,6958,7716,7458,4497,5681,7575,8082,5499,5806,4508,4801,5539,5547,8361,4569,6601,7271,4811,5250,7938,6270,7310,7574,5672,6428,6509,5823,8565,8772,4721,4615,5759,6207,5020,6306,6246,8812,6016,5673,6652,6574,5862,8195,7074,7587,8661,5300,4540,6542,7675,5716,8807,5868,8890,5702,6833,8609,7415,5826,8722,5106,8225,5614,6011,7470,8727,8790,7265,7569,5423,6004,7006,5242,5596,5529,5808,4715,7678,6735,5023,8224,7933,7912,6291,5219,6476,4595,6018,8816,6960,8348,5207,8202,7552,4900,7231,8682,7194,7357,6424,8375,6122,5550,8642,4580,8030,4974,6959,5863,8076,6889,4786,7021,4983,6727,6041,8516,7864,6484,6020,7037,6326,8270,8795,8414,6950,5630,6705,4457,5010,7000,5349,5888,4956,5604,5173,7153,5397,7882,6256,4510,5775,5987,6316,4699,7237,4843,6037,6289,5198,6898,8536,4495,6420,5332,5072,7944,6272,8549,6698,6578,4765,6381,8781,8073,8567,8391,6443,6587,7230,7377,6312,7273,8010,6139,7729,7013,8187,5404,8161,8766,6885,5283,8312,8325,4931,7627,7739,4872,4864,5241,5500,6631,5272,4798,7199,6787,7930,8604,8607,5891,5903,7916,8709,7038,6021,7348,8878,7137,8872,5158,6645,7696,6083,8749,8271,7840,7570,6082,5351,7804,6772,8070,6806,4476,8893,8680,6572,4525,8794,5366,8172,6736,6453,4579,7463,8388,8287,8398,6965,5755,6992,4986,8747,7092,4762,7617,5443,4861,4972,4435,6891,6108,6000,6596,7762,7515,6821,7878,7961,5942,5864,8532,5390,5205,6739,5802,6322,5781,6812,7959,7566,8038,7865,8715,4624,8436,7974,8396,4521,8944,7593,8617,5656,8074,6094,5972,5961,6318,6003,6240,6548,7924,7059,6090,4524,7185,6576,8690,7608,7913,7819,6288,5652,5258,7473,7946,5044,8192,6558,5659,5612,8542,8769,8869,8693,4446,8716,7826,6245,8932,5087,6360,6703,7090,4970,4985,6067,7600,6894,5014,4770,6686,8929,6904,5588,7530,8806,5629,4955,7223,8457,6422,7853,6661,7641,6791,5784,8133,6668,6151,5962,8043,5687,8849,6682,8111,5232,4730,8664,4622,8475,4646,4727,6488,6168,4785,7643,5157,5880,4584,8208,4448,5098,5658,7403,6589,8259,5626,4804,7861,8383,5773,5166,4766,7084,6546,4960,5041,5981,7666,4681,7413,4999,5928,4977,5670,4554,4590,5741,7905,5120,7690,5496,8122,4455,8284,7817,8240,7380,7663,5696,6493,5590,4945,5523,4942,6671,5543,5815,5960,7213,4791,8400,6210,7725,8158,8845,7210,4449,7956,7015,8283,8445,5370,8015,7391,5545,7524,6482,5267,7115,5874,4980,7175,5046,5369,7121,6205,7190,8493,8134,6219,7155,6386,6859,4783,5896,8064,5156,6683,7910,5373,6177,7796,6200,6935,7855,7888,5953,5337,5929,7581,6875,6223,7650,5188,4570,4671,7440,8091,8409,8928,7896,6793,8888,7368,6358,5274,5878,7818,5110,5448,6784,6454,5768,8196,6308,4876,5418,4707,7009,5860,8211,7918,6430,6638,7301,6394,7446,6896,8696,4745,4764,8572,6084,8952,8909,7073,7594,6520,7923,5467,8825,5175,8883,7219,7331,7127,6253,8751,8792,4838,5587,6781,7371,5719,7668,6279,8033,5735,6830,5514,5446,7851,5605,7619,8596,7014,7683,7313,6715,5346,6637,5138,6870,5209,5786,7960,8253,4822,6699,5717,5017,6048,4684,4797,7116,5690,6516,5440,7772,7279,8900,4617,6695,7481,4763,5709,4722,8372,7691,8630,5734,4553,5607,8580,8910,7152,4867,7859,6990,4536,5884,5474,4862,6224,7828,5176,6105,7147,6709,4968,4642,4911,6347,6110,6656,7614,5779,8024,5882,6884,5638,7947,8675,5413,6490,4597,7805,6614,8503,7914,5233,6920,7416,7366,6851,4659,7507,6133,7456,7297,4711,6046,7674,7159,6077,4668,5616,8277,6580,8470,7748,5051,7764,7911,7055,7986,4477,5844,6303,8917,7235,8903,8796,6247,6667,5394,8738,7382,5877,8448,4531,7709,6287,7070,5097,8871,6416,6916,5386,7417,5473,7883,5405,6738,5417,7157,5813,5508,6196,4854,4994,5043,6185,7425,5538,5050,8353,8226,4520,5766,6602,5376,8522,5747,8515,5101,7802,5708,6350,7350,7894,8846,5639,8611,8744,5302,6948,4578,6503,4499,6487,8110,8945,5917,4665,5031,4489,5540,6650,7747,7296,5552,8476,8121,6239,8098,5527,7529,7035,6052,6464,8336,5287,5150,8916,8447,6377,4946,6949,8002,5952,4856,8718,5352,8544,8249,5576,6651,7655,5341,7266,7578,5678,8655,7172,4541,8083,7964,5966,7369,6442,8479,7029,8429,5195,8292,8934,8764,8762,6024,6280,4919,7897,6375,5569,8974,5001,7939,7765,8370,6320,4825,7048,7192,6670,7134,8060,6662,8499,6249,6148,7868,8491,5015,7950,8138,6202,8508,7316,7615,8922,6174,7750,8968,4539,8285,7432,8841,8018,7556,5725,4850,5034,5424,5624,4991,7609,5320,7108,5958,5186,8635,4462,8778,6466,4515,8346,8381,7998,7126,5183,8421,6161,8786,5641,8768,8103,8692,8484,7381,5922,7995,6897,6956,8857,6130,7178,4667,8465,4997,8000,6494,8418,6674,4687,6276,8423,5415,7176,6345,7551,7644,8363,6666,6944,6581,7540,6388,6427,5887,6230,7837,6468,4528,8767,4899,7777,7632,6975,5113,5749,6201,8021,5854,6236,8088,7173,5465,4610,6869,5501,7427,5225,5769,7657,6282,5220,6663,6719,8867,8725,6070,7595,6216,6222,6178,7329,6235,5627,6034,5179,6460,5913,5334,6086,5873,7308,5959,5933,5401,5886,8344,5199,6983,7866,7071,7019,6290,7479,5831,8837,6518,8942,8858,6053,5436,4488,4830,6167,5840,7898,5029,8193,5088,7903,7958,7624,6843,6212,5432,8948,6585,8009,7735,4865,5568,6336,6451,7718,5628,8362,7590,6757,6183,8212,7942,8332,7642,6918,6732,5265,5095,7364,5380,8881,4679,6483,7985,5082,5856,8143,8144,7454,4589,6778,5730,6591,7254,8898,7477,8482,6412,8077,8598,5743,7269,8707,4538,6036,5733,8701,5202,5727,4887,4611,6278,5396,7664,5926,6343,8417,8955,5099,5229,4809,5441,8273,6088,4992,7120,4530,7160,5722,8705,5129,6561,4604,6121,8368,5697,5430,8037,5535,4961,5746,5285,6594,6001,7776,6970,6391,8431,6437,6588,7149,5359,7783,7315,7528,6065,7884,5005,4588,7351,5431,5252,6763,4548,5249,6644,6628,5700,7792,5664,6220,7183,6407,6492,4982,4814,8631,7285,5116,7753,7241,7940,5707,8646,5222,5578,4563,8460,8799,5711,5723,6175,7870,6409,7144,5751,8485,8404,5969,4616,4661,7813,7049,4928,6758,7560,4703,6539,5306,5728,7281,6537,6882,5174,4841,6804,5355,5013,8397,5536,8393,6972,8078,7263,4662,5238,7214,8798,8459,7328,6075,7963,7692,5611,7979,7239,4685,7007,5121,7017,8206,5453,4714,6195,5159,5190,7588,8178,8501,5619,5201,7671,5996,6071,5980,5615,8298,4605,8506,5889,8425,7426,5931,4654,5986,6708,8399,8688,6903,4542,8626,7628,4832,8123,4802,5037,8007,7922,7785,5789,6852,5068,5557,8644,5857,8116,4546,8412,4493,7591,7830,7060,8815,7314,6429,6971,6179,5797,5609,4944,5848,6447,8309,5433,4719,5470,6535,7814,4790,4633,5478,5348,7362,5109,6522,5732,8402,6410,4979,6134,4631,4526,7937,8282,6188,4948,8252,7011,6225,6079,8820,8118,7358,6575,6232,6923,4501,7052,7545,5466,6214,8248,7755,6118,6508,5721,5049,4535,6947,7028,8731,6862,7836,8641,6491,5006,6673,6968,8119,5074,8649,7618,4720,7390,6372,6138,6752,8019,7216,6165,5342,7549,4812,6552,6584,8330,6261,7527,7707,7363,5325,8950,5365,4724,4748,8711,8614,6181,5758,8513,8194,5574,7191,6547,7113,5761,5213,8299,6996,6649,6361,4916,7020,5133,5513,6815,7793,8723,5904,5189,7631,6076,6299,5836,6395,8207,8204,8581,5944,8538,5811,7118,7339,5462,4606,8320,5685,8577,8556,5479,7026,6857,7063,6854,8719,7182,7745,7733,7667,6125,8380,7404,5482,4445,8683,7708,5832,6356,4567,4914,8246,7010,4868,6364,5923,5081,5277,4436,7584,5125,6796,6184,4545,6357,8797,4557,7083,5530,8109,7166,5236,6540,4701,7093,5645,8622,8961,8689,7784,5902,6541,8789,5581,7097,6826,7372,6147,7971,7209,4503,6284,5083,4441,7098,7554,6233,7835,6413,8600,5651,8840,7304,5982,5027,6458,7319,8517,4439,6911,4934,4769,7293,8384,8392,8780,6006,4543,5881,7832,4706,7546,5939,7700,5851,7206,6274,4468,4989,8168,5215,6294,8882,8757,4781,7843,6961,4869,8885,8105,8851,8069,7860,6445,4506,6425,7243,8879,5335,8189,8746,7935,5936,5925,4953,8324,4693,5180,6348,7342,5537,6743,4672,6068,5491,8557,4470,7786,5485,7931,6669,7568,7365,4932,8830,7128,6780,7069,6936,8455,5124,6931,6665,6568,8755,4432,7462,5148,5744,5239,5026,5602,5350,8367,8048,5906,7953,6044,7726,4447,4575,6531,4527,4787,6917,5970,8892,5869,5048,6417,4987,7420,5021,7309,8714,7450,6293,7270,5990,6844,7444,4560,6845,6802,7659,5289,6131,7586,7654,4808,7066,7486,6359,6250,7036,6563,5600,7647,7383,5835,6825,7257,7177,6997,4565,4863,7514,5391,6987,6213,6767,5905,8395,8969,7375,7601,4976,8127,4607,6867,8627,8965,8435,7582,6770,8970,5117,8913,8468,5518,8618,8430,8852,5126,8219,7997,4950,6078,6655,7324,6952,5608,6642,7099,6489,8055,7001,6328,4757,8097,6834,6530,6172,6374,8263,8960,8739,4492,8008,8084,7141,7455,5260,6269,5940,8301,6500,6340,5361,7730,7482,5303,7405,5196,5079,7948,8595,6461,8269,7801,4689,5824,6764,6616,5480,5908,5299,7945,4572,8318,7282,6051,4678,4981,5230,4710,8527,7024,4459,4428,5706,6162,8386,4829,5988,7236,5842,8658,6533,8473,6679,8350,7378,5494,5495,8889,7280,8148,6653,8666,4799,7544,7138,6456,5368,8086,7879,8135,6333,8836,7744,7711,6788,6905,7720,6481,8925,5412,4754,5218,7623,7606,4640,4913,6647,6706,6913,5278,8349,5134,5211,4908,7291,6853,7869,5089,7811,7799,5290,7397,5486,7547,6365,4700,8954,8440,5308,7356,8067,6335,7673,8257,8659,6811,7436,8941,4547,8331,5018,8698,6612,8758,4574,7089,5273,8935,8770,4806,7233,6717,7847,7494,7533,8865,6243,8101,4903,6789,7130,7610,8524,6143,5625,4725,8530,4655,8265,7277,8949,5677,4676,4807,5606,8504,8472,6160,5954,7580,7613,8570,6285,5909,8860,8387,5381,4752,8802,4688,7877,8699,4886,5586,5266,6218,6866,7517,8583,4534,7845,5580,7461,5760,4434,6089,6902,8170,8044,5655,7536,4636,4573,6636,5757,6128,7858,8329,8498,8562,7513,7398,7538,8645,5112,6818,7727,6497,6292,4583,8221,5637,8832,7451,5821,6435,8777,7987,6376,8972,8740,6794,4858,7025,5197,8286,6643,5682,5787,5339,6783,5442,7646,4936,7065,5885,7531,7252,6726,4704,8543,7965,5128,4471,6449,7327,6321,5649,5395,7781,7839,6850,6729,7975,5676,5437,5353,5684,5930,8233,7680,8809,5256,6506,5983,4511,6423,5618,6840,8099,5223,4776,5522,5582,5852,5739,4881,7763,4692,8545,7589,6901,8389,8066,7780,7823,6132,5693,8449,7292,5816,8239,7679,5187,8080,8899,8700,7834,6760,6136,8685,8322,5062,4840,4500,6186,7491,8927,8546,6363,6892,7469,4747,6199,8416,6886,8886,7246,7044,8227,7622,6040,8321,7345,6254,8366,5294,7484,8432,4697,6571,8761,6625,7355,6073,7808,5531,8302,8235,5819,5683,8743,8036,8576,6967,5890,7079,5307,4810,7102,8317,7571,7222,5736,6389,7050,6043,8848,7320,5080,6929,5011,8619,6002,6499,8552,5132,6613,7466,7433,7955,6404,8621,6598,5805,5752,4750,8827,4629,6995,6627,4966,5422,6257,7699,8560,7373,8864,5985,4870,4482,4502,8306,5360,7352,8236,7062,8765,8720,4852,4426,8079,8875,6603,7541,5924,8107,8568,5701,8410,5516,8210,8401,7992,6433,5911,7511,6382,7510,6713,7262,5932,5203,7245,8176,5340,5164,8486,6994,4490,4690,7899,8242,7447,5066,8734,8610,4660,5955,7854,8541,5718,5795,6599,8704,5305,4958,8703,5532,6206,6475,7798,7561,7158,8728,8216,7101,8311,4641,8588,4904,7122,6761,8358,4460,6152,5019,5974,7359,5771,7202,6827,5375,6807,6989,5177,7341,5745,6689,8291,7500,7428,6113,5993,8870,4487,8382,7076,8736,5059,7012,5801,7812,7058,5845,6042,6129,7682,6954,8408,8676,5338,7039,6297,4593,4796,4775,4481,6858,8602,8752,7215,8051,4644,4803,5783,7611,7501,8737,7697,8139,8571,5977,4749,7497,6337,6513,8497,5316,8519,7841,5796,7030,4670,7496,4831,6939,4731,5785,8866,5927,8496,7421,4716,7384,8490,5691,6680,4990,5383,5127,4793,6798,5991,5212,8177,6737,6620,7146,8721,7983,8333,5554,6557,6607,4653,8342,5979,6771,7901,5167,6790,8027,6528,5800,6611,5357,8241,7276,6444,6868,6906,8190,6691,6750,6366,6400,6058,6194,7077,5633,4751,8502,6190,7042,4800,6255,5995,6517,8748,8046,4906,6203,8458,6963,7107,7846,6096,7562,6393,5028,7558,7411,5336,6746,7625,4587,7228,5425,5506,8035,7714,5319,4600,8967,4639,4466,8741,6101,5107,7825,7204,6368,6824,6912,7343,6346,8112,5288,8652,6455,7838,5367,6823,8817,7284,7756,7976,7743,8735,6063,6009,8911,6317,4577,8355,4746,4529,8453,6310,5510,7317,8811,8907,4844,7047,5330,6635,7553,7256,8094,4713,7165,5389,5847,5399,5324,6687,8214,6056,8023,4491,6609,7639,6502,4456,6621,4656,8750,8874,4773,5666,8547,7112,6144,5770,7018,6059,5145,8188,5663,4602,5119,7815,6302,7583,8639,7677,5669,7806,7278,4519,6032,4834,7962,7694,4695,5362,6707,4925,4425,6722,5713,7472,4564,6712,8343,6550,4664,8488,6062,8528,6966,8156,4473,7468,4621,5333,7452,5912,7274,6119,5007,7361,5315,6411,4975,7761,4438,5592,6553,6141,8483,7573,5012,8518,7437,6126,8254,5572,6664,4696,8427,6307,4774,4658,4828,8671,8199,6450,6341,8145,8566,6765,6626,5275,6085,7982,8640,4963,8059,5975,6529,5063,6127,4943,5994,8760,7542,6504,6353,8159,4632,6964,8587,8058,4873,6740,7572,7844,8095,5948,5833,5257,5271,5003,6648,6012,8422,7129,6267,6354,5143,8308,8897,5295,8356,8951,8142,6792,6658,8854,5846,8964,8926,5726,5091,8274,5950,4537,8694,7197,7095,7969,5314,7705,6769,4625,8089,7100,5921,8424,7290,5111,8022,6158,7418,6941,5060,8251,8669,5064,7984,8481,6549,7502,4978,8657,8005,4851,6434,4643,4723,7881,5512,5085,7563,7535,6768,4823,7833,8438,5809,5084,6835,7967,4927,8783,8896,5140,4559,7557,7993,8551,6331,7645,5438,6595,4442,6785,7757,8594,5100,7321,4592,7548,5411,7509,8243,8345,6803,5455,6440,7374,4675,8153,6505,5400,5593,7576,7943,7596,7264,5548,4533,6873,4649,7294,6226,6298,6137,8296,7822,5511,4759,8268,4912,5327,8523,8450,6402,6846,8229,5870,6379,7616,7607,5827,6747,7386,8599,6583,6507,8025,5594,4930,5210,6399,4686,4879,6467,7887,7186,8238,8601,8087,6678,7201,5264,5772,4964,5984,7217,5356,8673,5830,7169,4483,8615,8613,8808,5243,5161,7661,7489,6564,7034,6838,5621,6231,8651,6145,8314,6103,6066,8507,4760,5650,6189,7685,7171,5487,4485,4939,8444,8918,5849,6514,7203,6562,8166,6980,6208,6534,6234,6099,8294,8223,8129,6097,7298,5309,8426,7303,8510,5892,5444,5935,8819,7932,5829,5416,8258,5871,4486,5312,8171,5073,8828,5729,7111,6047,5679,5108,4891,4884,5571,5254,4648,7022,8569,7921,7457,5053,5971,6109,5756,7430,6573,4815,7346,5976,6755,5643,6117,8328,6810,4813,6615,7746,6962,8578,5509,8471,7081,8793,5866,5435,7842,7669,5322,5247,5951,7288,5737,8814,8218,5204,5715,7564,4926,8115,8295,4437,6215,6828,7259,6198,5662,7737,8385,4507,8040,5262,8278,7004,5665,7224,7689,5323,5096,8697,8534,6925,5570,7648,4561,6080,5162,7140,6725,8063,5934,8173,5038,6532,6149,8774,4518,6367,4792,8947,8124,5910,6017,6510,7592,8691,4894,6660,7684,8894,5507,8629,6556,8085,5154,8717,7621,7999,5226,5178,7184,8487,6339,8405,7824,4767,6879,5194,7234,6742,7424,8923,5622,5598,6329,8075,6677,8406,4505,8678,6933,8891,7499,7305,8813,8605,8726,7412,7891,8953,6355,8931,7423,7909,5045,8729,5248,6022,8262,5541,7487,6630,7598,6238,8315,8733,4728,7503,7791,5804,4469,6762,6974,4847,6281,5463,7471,8585,4509,7247,5192,8940,4918,6937,5610,6921,6474,7893,7980,6244,8975,7504,4959,8352,5402,7490,5141,5318,5675,6265,6711,4902,8712,7064,4586,7189,8411,6922,5245,5556,8695,6634,5790,8217,8230,4871,5313,8478,4673,7008,7349,6093,8003,6914,5144,5221,6102,7640,5092,6874,4967,6005,8096,7078,6087,7790,6039,6135,4835,7875,7952,6623,7702,6741,7376,8971,5039,7483,4739,7087,8660,4905,7900,6724,7151,5182,6814,8831,6566,5898,5822,8492,6605,4988,7715,8014,7954,5454,6262,5281,6981,8684,7751,8162,4743,7248,5817,7125,8039,8933,8920,4910,6227,6120,6014,5449,6241,5224,7250,6675,6304,6457,4603,5907,7480,7445,8245,6617,4666,4836,5968,4591,7827,8032,6392,4896,7906,7754,6955,4738,6608,6730,5457,8584,6142,6756,7829,8428,6406,4782,8654,6524,4957,5636,8859,7977,4427,7441,7831,6654,5067,5567,5528,4726,6019,5461,6485,5040,7698,6229,6836,8776,5004,7067,8179,4878,5914,6841,5489,7434,5897,6907,6426,5445,4895,7460,6819,4742,6432,8632,8117,6641,6441,7085,7283,5573,6797,7821,5452,6909,6872,5293,6871,7232,4680,8672,4845,7495,8403,5937,7488,5584,4788,5086,4663,5392,8687,5699,8608,8663,5061,8443,6718,6979,5803,7402,6038,6998,6544,5517,7742,7876,7249,7353,7710,7928,6986,6934,6305,6519,8550,8183,6692,5409,7672,7498,7695,8876,4777,8456,6659,5114,6976,8045,7392,5671,8191,6114,7788,5778,7686,8365,8963,5825,8319,7179,7637,4909,7555,6945,8026,6512,5427,6545,6378,4744,6943,6632,8128,6191,8466,8973,5035,6515,5279,7758,8702,4694,4634,6716,6383,5750,5160,6619,8467,7023,5032,7005,7154,4818,8056,5371,8821,7448,4789,6057,6023,6015,4630,5767,8313,4444,8114,7198,5000,7261,8754,7525,6028,6685,8029,6622,6323,5838,5475,7195,5326,4596,6855,5978,6527,5058,6438,6878,8850,8791,8505,6193,6035,6419,5667,6150,6013,7330,8004,4860,8042,7506,5653,8511,5575,7949,5246,6334,7156,5414,8713,6728,7636,7522,6315,6163,8559,6170,8788,8480,7782,4628,8266,7096,8512,4837,5553,4875,6554,5071,6301,6324,6681,4965,5269,6523,8779,6839,5406,5644,5456,5544,8915,8636,7630,8364,8959,4736,7170,7453,6543,8047,5521,5583,8469,5597,7442,7467,6069,5317,8855,4951,5595,5973,5841,7721,5688,4817,6860,5472,5420,5259,6876,4637,5268,7926,5999,6693,7056,7275,6166,5989,8131,5471,7167,4581,8092,7459,5122,5949,8603,8011,5191,5876,8434,7771,6463,4901,7889,7604,7407,5296,6314,6754,5328,7749,7347,5648,8250,7043,7626,5136,8464,5200,6248,4755,5459,8558,5546,8593,8335,5555,7951,5384,7104,6938,5738,7579,5577,6577,8710,7212,8597,4601,5057,5042,7532,6988,4907,6197,8847,6155,5799,7449,7016,5525,6049,4740,7226,6415,7736,4474,5764,4883,8895,8946,6342,7311,8742,8686,8873,6362,5070,6856,7638,6154,7512,6590,8463,6187,4645,5850,5434,8623,6604,6027,8175,5812,7336,8289,6501,8303,6327,5828,5943,6991,8834,5345,8164,7164,4949,7519,6140,8373,8297,7880,5895,6495,8130,8633,7057,4874,8407,8347,6064,5234,6055,7577,7344,5008,7915,6061,8441,6694,8533,5481,5374,7003,6169,6582,7662,8452,6228,8165,8957,5301,4771,6477,8589,5967,6469,4712,7665,5378,7892,4677,8163,8160,6775,6211,5551,7105,8901,7852,6106,8592,7778,4933,7968,5002,6928,5843,4842,5227,4562,8805,8413,6448,8521,7388,7086,8020,8120,8220,5502,6946,7299,6111,4517,5534,8648,7244,5957,7712,6820,4498,5385,6217,7325,7072,7565,8540,4582,8323,4855,7857,6808,8756,8677,5497,6795,8310,5077,7109,4513,5235,7681,7333,7148,8065,7620,8237,7435,5170,5056,5965,6526,6748,7917,5364,6982,6816,4599,5505,5137,4853,6498,4576,6910,4556,6657,7396,5069,5754,5419,6295,6848,5280,7394,8093,4794,8902,7810,7936,7238,8184,8500,6311,5893,6570,5217,7907,6237,5859,8260,4494,8106,6421,8053,7731,5601,7752,5030,4761,8140,7543,4758,8016,6242,8904,8674,5181,7354,6325,8169,6877,5347,7508,8616,5284,5661,4892,7229,5428,7629,7991,6805,7150,8231,8205,4465,6883,8377,7871,8938,5731,4885,4609,6100,5105,7904,4857,7132,6480,8264,5689,6672,8590,4917,8327,6731,5998,5410,7419,6439,8868,7807,5090,6296,8034,8155,7934,7795,7816,6459,5865,4464,7688,8477,6759,6749,6973,7970,8090,4820,7717,6924,6890,7867,5792,5193,5460,5151,5065,6263,5623,4915,4657,6283,8061,5613,5879,6414,4969,6700,4623,5206,7740,5358,7406,5253,5788,6863,5714,8638,4552,6538,8681,6116,7082,6734,7041,4532,7649,4555,6953,8939,7701,5131,5185,7161,7053,7220,5165,5589,8141,7994,4971,5919,7242,8149,4452,7787,7635,8771,8759,6777,6176,7410,7670,7713,6007,6369,8862,7478,8147,4585,6930,6371,5635,8956,7200,7401,4947,8835,5915,6593,6472,6551,4833,8919,4512,5009,5674,6822,4708,5208,6690,8126,5398,6271,6054,5291,5941,5585,7399,6104,7873,8937,7187,5561,6173,6525,8351,8052,7133,6809,8369,5515,7973,5642,4544,5103,6319,6776,7114,8244,5464,6942,7493,5762,5408,6592,6462,8307,7400,8228,6899,7706,5135,6536,7526,8574,7767,8186,6610,6881,5599,5704,7492,4598,5837,4458,4848,7322,5748,5916,6597,5311,7027,8146,5078,8232,8132,4450,7193,4921,5429,5997,6926,7143,8185,8514,5945,6624,8305,5155,7902,7289,6171,7794,4618,7061,8653,4650,7300,6478,6753,5216,7704,7286,5403,4451,5393,8924,8474,8247,6720,8822,4612,7054,8844,6999,4647,6095,7988,4729,6618,8829,6978,5798,7045,6842,6985,6264,7603,7221,6779,5901,8394,7389,8062,8293,6927,6209,4463,7803,4756,5703,8573,8826,7766,7429,4702,8461,4734,8526,4768,8028,8017,8586,8068,6696,8334,4674,5372,5560,4614,4733,4514,4819,5450,8773,7908,8905,5579,5171,5710,6349,5695,4880,8290,5016,6258,7367,4772,7890,6629,4568,4522,5657,7031,6092,8104,6579,4484,5549,5153,5563,7414,5617,5753,5483,8662,4461,5858,6351,5142,4571,8800,7075,6115,8415,7307,7409,7131,8930,4849,8378,7559,7789,6786,6370,4826,5562,8137,6010,7476,6893,4795,6951,5477,8006,7040,6799,6153,7597,7332,4551,6888,6309,8182,5632,4954,5640,6586,8201,8563,7253,5407,8198,5899,4504,6900,8420,7080,8943,7033,4718,6567,8012,7523,4897,8531,8647,8376,6204,8442,7338,7032,5115,4962,4859,6446,7051,4480,6744,4558,7724,7136,6832,7123,5469,5172,6606,8535,7318,8437,5807,6940,5276,8529,8853,8667,6373,5149,6074,5379,6984,6932,8272,6266,7258,8624,4780,4638,6156,7612,8151,6045,8054,4993,5439,8316,5152,8833,5742,7886,6338,8525,5558,7094,4846,7431,4889,4938,7759,6880,5261,7422,5321,4839,5363,6919,6286,4996,8843,7599,8582,8555,8818,5094,6157,8877,7119,6555,5052,6640,8215,4877,8446,6008,5310,6252,5720,7002,5344,6025,6050,8049,8339,6465,6801,8606,6268,5820,5542,5468,4941,7302,6486,7168,4717,8371,7925,6260,8656,6813,7966,5712,8861,6473,4430,6676,6864,8071,6060,6702,5565,5476,8887,7385,5147,8341,4516,5130,8537,5686,8880,8856,8337,7208,5331,6030,8174,5054,7653,8031,5793,8539,8936,6384,8001,4454,8763,5055,5047,5780,6865,5875,5631,4691,8489,8108,6710,8785,4429,7770,8554,8300,8775,7723,8390,8288,7732,8804,5853,8612,4550,6569,5025,5855,7518,4937,5526,5163,5524,5033,6849,7634,7139,6751,8634,6396,8125,4566,8234,6908,4467,7703,6380,5451,5777,6565,8136,4669,6817,7196,5329,5214,7439,4453,6436,7393,8801,6993,6344,5591,8823,7516,6091,6026,7774,4821,6470,6313,4472,7849,7287,8197,7539,7775,7335,7929,6033,8360,8281,4440,6159,7163,5740,5076,6639,6405,7927,7135,4940,8730,7227,7267,5763,6977,7738,8591,7181,8520,5036,8679,4952,6559,7981,8732,8340,5559,5255,8579,7856,8863,7255,6192,4882,8102,8267,5292,6031,6251,8838,4626,4929,6745,5104,8553,5794,5484,7605,5377,6511,8462,4549,5093,7142,4893,7920,4784,5814,7218,7312,4431,4998,6221,7779,6688,8379,4737,7567,4652,4866,8650,5504,7820,6112,6800,8637,6701,8374,5520,7337,5620,6895,6633,7534,6164,5282,6123,7989,5947,8810,8041,7874,5458,7862,4732,5118,5646,6180,5647,4995,5519,5503,8100,4698,8419,8625,8958,5490,8013,8072,8494,5946,6704,8354,6600,8803,8784,8561,6714,8564,7676,8050,5956,5694,6723,7379,7260,7693,8157,5782,5894,5964,7326,5270,5488,8914,7438,5146,8222,4478,8280,7996,8261,6029,8753,6733,8628,7145,8451,4683,4816,6182,5883,4619,4433,7885,7972,8620,8255,8824,8976,5228,8150,4735,4709,6431,4613,6390,6408,8962,7550,7103,8081,5938,6831,6403,8787,7240,8575,5237,6275,6300,7180,8433,5024,7768,6560,5698,7797,7585,8509,7656,7162,5075,7941,5022,7110,4824,8708,6721,7323,4935,8279,5123,8256,7340,5963,4627,8908,6273,8643,5168,8724,7872,5810,6957,8359,7091,7370,7211,5447,7773,7485,6398,4920,6330,5139,8304,7800,8454,5304,5343,4984,5382,4620,7728,8152,7537,6146,5818,7174,5654,5603,5240,7652,5791,4924,5867,7602,5498,5705,5918,4898,4594,4973,6397,5102,7895,5920,5387,5861,7443,7474,8839,5634,5251,8921,5286,4805,8276,7957,7117,4608,7521,6452,4523,6684,6479,7520,5774,7225,4923,4475,4682,7295,4496,6124,6829,-1,17,55,243,100,100,225,83,10,6,45,83,39,74,57,7,77,89,15,43,81,14,104,111,14,6,89,69,129,245,233,43,174,115,22,14,19,14,67,92,71,61,116,132,0,66,77,104,112,93,77,175,27,247,213,203,3,72,64,72,77,71,100,90,149,104,15,9,2,106,67,67,137,7,64,83,226,216,3,103,121,159,121,247,166,71,53,72,148,12,100,203,147,79,242,43,100,106,79,207,14,102,7,83,32,57,14,6,203,130,39,3,3,162,232,74,230,174,169,14,79,137,69,14,79,101,14,199,215,71,139,209,94,190,76,57,14,168,217,43,37,75,162,1,194,203,14,253,71,41,35,39,97,11,241,69,1,56,77,0,255,202,66,69,67,94,212,105,204,106,64,77,14,94,121,41,82,104,79,39,119,121,77,50,228,14,66,231,22,100,83,173,65,99,64,100,240,61,140,173,194,84,203,79,27,71,8,79,214,63,65,151,45,30,112,12,174,84,45,89,3,130,229,91,133,171,100,77,112,93,94,11,228,194,15,41,91,77,20,188,30,106,106,100,12,222,77,121,39,79,69,236,42,108,83,40,236,140,255,14,70,3,13,2,77,66,90,246,202,19,212,90,109,2,213,3,144,199,41,89,108,80,71,11,194,83,1,0,64,30,67,156,35,128,122,100,144,238,69,71,67,121,91,238,229,14,137,19,235,104,33,106,66,36,141,231,46,21,74,236,65,108,93,69,6,89,243,161,67,146,116,121,30,8,33,174,67,14,89,105,77,204,66,68,13,81,67,104,197,130,39,70,228,162,224,249,83,88,206,160,71,174,7,104,235,14,71,94,83,22,2,141,78,52,110,31,254,196,200,103,103,251,77,121,104,83,32,174,100,69,94,205,106,76,104,67,79,0,90,5,61,38,79,156,14,92,212,121,209,147,14,211,83,13,110,251,130,68,173,251,0,234,172,79,8,36,74,39,41,47,67,121,155,69,9,38,89,14,42,72,1,77,110,104,100,121,66,116,6,159,106,13,60,250,80,25,149,159,106,3,155,100,8,222,104,192,50,104,67,80,100,67,64,79,0,23,91,105,75,83,29,5,24,65,207,89,12,13,222,173,30,133,159,79,29,22,89,69,97,235,79,2,64,11,77,222,106,83,8,239,104,14,72,139,162,69,243,177,69,69,108,89,20,209,11,79,71,77,75,22,200,72,83,231,66,8,116,74,18,102,13,94,74,71,58,216,7,222,106,46,119,9,109,45,105,82,7,104,38,64,134,36,103,89,67,3,58,71,79,104,6,243,233,79,104,239,105,8,201,22,83,36,101,9,20,220,110,42,79,77,100,7,213,96,89,62,138,0,8,6,121,83,60,14,102,12,69,83,39,228,36,128,28,203,243,172,116,84,19,9,100,131,46,204,14,64,69,66,254,199,139,193,60,86,45,0,89,200,192,89,14,149,17,139,68,65,196,109,21,77,136,67,143,108,77,84,27,13,78,80,99,106,171,19,42,201,17,175,121,100,210,10,211,59,66,39,94,198,104,77,142,89,3,203,19,93,104,106,37,73,138,9,3,50,201,77,229,96,3,83,59,106,39,6,83,18,230,220,208,245,136,71,18,67,30,131,17,32,231,14,105,104,255,235,6,198,14,104,79,102,17,52,193,215,35,61,49,109,156,211,41,255,78,77,112,194,22,110,38,100,121,48,88,106,32,94,126,12,115,148,23,130,104,106,100,13,20,71,14,23,76,69,112,94,245,103,77,90,201,66,67,229,231,69,206,104,106,161,66,222,134,93,14,36,84,67,235,102,228,161,173,16,38,195,108,67,100,214,78,69,12,25,195,78,45,27,104,9,247,111,71,94,77,69,150,77,228,72,100,248,225,39,121,55,32,121,79,69,203,250,42,29,22,81,0,77,254,18,112,63,28,84,136,90,227,198,73,2,252,69,104,84,175,65,169,69,174,173,100,255,14,104,39,7,209,121,200,83,228,48,234,91,69,56,234,40,211,78,67,69,246,87,31,67,108,1,14,191,110,172,211,83,53,236,71,255,26,160,12,41,78,14,121,46,111,30,59,24,234,220,204,104,2,14,23,14,15,68,250,65,59,2,11,69,163,139,84,105,119,207,79,100,14,111,76,106,32,67,14,249,77,71,32,234,115,231,12,100,231,21,35,46,103,79,30,105,229,95,215,14,234,14,9,79,241,193,205,74,62,71,39,71,87,77,37,195,21,137,7,55,77,64,106,14,39,87,122,68,72,207,80,106,49,7,77,14,77,104,83,104,206,16,235,122,121,100,80,104,106,69,209,100,53,102,68,218,79,81,192,65,53,200,76,150,167,10,19,72,79,14,69,78,167,103,214,79,67,106,30,80,93,83,245,244,81,88,77,62,69,71,163,8,228,89,221,69,12,38,244,241,27,22,6,106,121,79,36,178,121,161,14,4,26,71,104,98,121,209,14,12,77,104,64,71,31,200,133,31,213,71,201,12,193,76,252,166,197,67,6,91,77,4,20,6,68,156,100,134,136,106,11,79,23,192,199,106,91,100,66,4,26,20,97,36,216,100,106,0,77,77,246,240,121,160,71,126,209,231,66,229,12,121,247,59,233,89,2,169,139,62,138,220,30,108,121,246,121,72,0,133,81,14,136,23,78,79,27,89,41,83,104,20,65,69,104,110,121,19,71,197,45,77,102,121,175,104,231,83,42,236,112,14,3,3,7,12,19,198,71,128,3,175,151,27,38,23,197,162,67,77,74,134,77,163,106,77,79,100,38,93,106,15,121,1,56,89,195,100,222,67,9,129,83,67,235,9,7,247,113,224,236,68,64,4,200,23,1,33,76,121,100,40,243,34,69,104,0,15,143,39,14,193,77,102,69,72,89,12,106,105,77,89,89,219,199,78,129,28,194,38,209,79,89,27,14,83,133,66,16,30,60,70,151,175,93,59,72,101,78,203,89,79,123,83,15,209,89,177,198,174,104,104,52,66,119,86,90,249,133,89,52,83,142,1,13,227,64,172,2,95,68,13,93,28,20,3,14,39,53,105,199,10,95,69,122,12,139,24,134,89,12,23,67,59,138,7,72,67,9,190,155,10,16,115,100,75,123,41,14,240,248,229,136,66,196,90,14,104,194,83,69,26,71,245,76,14,216,0,83,72,77,79,5,14,108,39,81,178,104,96,114,67,121,27,106,222,0,89,47,200,235,0,89,139,14,0,180,83,152,71,62,104,70,112,106,104,74,77,210,97,138,89,81,77,69,77,100,104,28,64,72,238,7,227,30,209,162,121,77,104,12,9,72,71,106,71,44,100,203,2,237,86,163,106,106,14,58,69,253,67,33,64,117,121,14,106,108,79,6,105,112,177,81,14,71,199,67,90,0,69,191,18,201,36,193,150,67,106,6,84,103,224,55,233,128,14,11,162,237,39,106,79,35,218,220,112,242,14,103,71,80,111,69,89,83,116,44,14,76,67,174,20,101,79,104,121,67,129,69,121,101,14,205,121,79,30,102,129,77,71,29,78,101,2,35,34,106,39,91,52,14,245,78,106,58,99,6,141,66,78,173,69,77,173,172,14,121,16,7,77,203,22,217,14,14,74,106,113,206,27,55,156,48,195,121,103,235,138,49,100,103,104,243,236,36,105,104,112,79,71,36,106,119,9,102,111,254,106,102,156,213,119,227,121,176,83,177,120,32,77,54,251,65,64,22,77,3,106,225,65,245,67,100,56,69,221,220,136,42,102,68,66,66,83,67,87,77,43,99,89,71,109,66,6,81,202,121,143,100,121,161,14,3,88,100,242,67,67,83,93,36,240,229,14,105,79,9,81,61,251,240,121,87,71,25,45,122,14,100,16,94,134,64,105,200,37,14,106,199,77,108,18,79,161,8,133,79,69,110,133,226,52,110,201,77,14,39,197,20,76,200,216,77,205,74,39,30,71,40,119,87,200,161,136,84,83,12,59,83,41,78,89,148,221,2,77,150,177,14,122,249,71,100,15,149,12,227,71,42,20,87,74,100,232,138,75,25,104,106,68,103,128,93,121,19,197,79,33,42,105,20,150,221,21,69,98,44,77,200,14,239,72,27,83,116,20,121,213,14,14,59,28,184,245,19,2,0,239,236,4,79,132,75,3,134,5,154,71,10,202,14,7,134,110,247,71,134,143,203,36,100,106,11,236,6,100,18,77,156,206,39,14,131,43,22,162,66,77,74,66,42,62,117,96,241,39,79,17,40,199,101,64,225,102,18,225,42,17,106,6,121,69,72,26,40,14,22,79,3,14,57,112,104,109,59,66,110,79,71,75,67,67,61,69,199,31,102,75,251,244,73,65,137,8,29,150,130,150,229,161,69,191,100,241,2,30,56,213,161,162,89,192,253,36,221,228,67,204,216,205,2,19,109,10,121,67,247,250,14,77,131,157,130,210,71,72,67,150,7,106,19,89,237,121,121,77,160,178,67,148,57,186,200,0,79,254,102,4,243,83,131,104,243,121,86,100,53,77,44,3,4,89,104,69,80,3,24,104,116,67,121,100,200,222,20,22,128,138,39,89,103,14,39,106,169,100,52,20,162,71,17,229,67,100,48,121,101,3,65,101,102,246,64,20,56,8,3,35,208,203,77,94,79,100,79,199,106,77,2,96,14,18,206,112,12,79,14,94,63,14,14,19,249,77,91,139,91,201,0,130,101,212,89,92,78,74,106,108,40,14,45,128,116,233,16,203,76,239,50,72,128,91,2,70,115,121,19,67,215,4,191,79,69,10,230,71,150,129,36,33,112,117,3,249,78,44,27,129,39,37,6,128,81,11,121,97,71,76,78,100,81,141,14,65,23,106,11,11,105,245,140,208,89,8,173,65,106,121,80,11,121,100,227,71,10,20,188,3,121,214,74,13,3,106,250,93,100,198,33,223,232,100,0,4,129,79,100,85,69,26,12,72,79,14,106,28,70,210,69,222,15,64,23,84,121,205,212,83,231,218,65,11,6,28,0,228,185,237,100,75,14,29,135,201,30,128,67,77,140,81,209,14,73,77,3,232,67,27,28,149,117,73,77,138,73,28,8,14,100,105,89,250,193,166,98,24,6,41,38,161,159,89,79,203,11,39,201,227,128,20,102,94,89,244,213,41,145,67,162,87,28,105,234,30,161,7,252,31,33,89,39,40,70,36,162,212,55,109,107,106,92,220,110,83,121,1,239,14,48,80,173,238,89,102,69,60,209,129,62,91,12,195,89,121,12,83,138,129,248,77,89,214,132,30,14,106,66,50,77,67,106,9,107,69,45,69,29,122,76,223,79,83,121,240,78,71,7,14,194,122,5,0,77,14,21,104,77,80,77,83,67,26,105,162,93,234,104,255,89,225,11,89,62,69,71,106,89,67,92,233,110,99,28,148,33,3,0,116,133,39,210,43,222,89,166,177,77,193,79,83,87,31,110,200,115,113,207,71,79,14,79,121,83,89,28,215,9,31,2,224,66,82,234,122,115,245,59,128,72,167,130,223,109,79,94,139,67,159,190,227,89,201,1,69,11,69,192,67,59,17,77,71,72,50,251,23,59,104,226,73,65,158,86,76,194,121,89,2,0,136,14,102,174,83,230,136,58,19,45,173,122,72,226,100,9,131,75,65,100,235,14,206,83,47,236,45,247,12,223,200,66,158,6,122,26,10,138,121,14,138,14,3,65,116,137,8,12,128,83,162,15,69,36,47,16,81,89,104,118,203,136,121,11,71,78,156,244,74,11,104,106,123,131,30,104,254,229,72,62,94,173,77,67,52,77,14,0,106,79,69,82,61,136,44,80,123,108,14,129,103,223,67,193,23,4,71,14,103,59,94,120,98,75,102,106,78,239,8,207,111,0,2,12,106,84,89,2,77,90,67,16,81,31,83,72,40,245,221,207,104,36,67,217,119,48,79,87,6,129,213,30,217,6,37,85,102,100,122,167,81,68,48,100,83,41,59,0,105,100,91,244,192,66,238,106,91,111,73,230,195,64,172,217,108,236,23,73,59,80,210,128,139,67,173,71,67,104,7,16,193,16,67,103,218,106,2,64,8,110,232,89,73,69,196,100,209,77,99,86,3,135,194,226,54,36,112,100,79,14,14,8,192,28,95,65,194,201,58,39,104,129,110,52,57,16,11,71,112,83,67,83,249,79,106,62,66,121,149,100,121,67,101,174,97,213,73,21,121,244,42,36,111,121,43,104,14,77,82,106,57,65,121,24,67,14,71,66,175,77,71,89,42,251,231,102,69,203,84,121,105,175,20,104,30,255,226,19,105,84,41,48,74,174,80,14,27,150,89,19,98,249,232,106,50,14,79,69,42,251,79,14,250,29,175,79,87,90,145,206,71,121,43,76,69,162,106,204,159,115,217,172,69,93,7,249,238,104,102,71,100,244,172,20,71,123,208,77,229,210,83,71,17,7,93,28,56,31,59,14,229,83,79,89,110,106,90,77,156,89,66,175,240,14,95,58,100,67,22,188,255,79,220,144,248,3,66,207,229,106,43,10,222,69,65,109,29,62,173,28,69,106,66,188,67,8,74,14,23,234,47,141,83,211,128,0,67,100,83,8,7,5,67,161,14,27,96,203,122,129,83,83,121,111,9,236,100,22,119,1,106,88,2,41,229,40,100,33,106,246,101,190,93,211,14,113,83,106,40,190,95,16,249,27,58,212,62,228,82,156,207,47,232,14,228,73,221,103,128,103,10,71,12,248,100,47,255,233,14,137,172,14,100,0,36,14,6,71,102,12,224,27,59,14,208,30,64,175,197,93,4,14,45,79,126,143,193,89,173,121,14,77,71,104,6,77,73,22,8,41,86,123,17,2,244,41,67,10,8,0,14,155,61,11,65,57,192,8,121,22,105,60,224,89,200,253,139,89,101,74,242,121,39,1,193,221,66,16,172,14,40,112,244,19,71,175,210,14,77,78,203,93,225,9,55,106,251,121,77,184,4,15,75,29,23,106,77,226,136,71,67,11,14,14,69,159,119,89,83,102,71,203,104,31,242,4,39,89,143,94,83,65,249,69,136,199,101,200,77,44,4,69,14,65,42,77,122,121,97,78,83,8,67,156,80,21,211,73,80,237,72,182,43,207,87,22,6,89,216,74,0,31,106,106,196,73,57,112,83,83,77,64,12,201,207,3,212,122,101,14,121,101,238,249,77,69,69,67,66,108,71,42,12,79,71,252,22,28,44,122,129,108,71,38,104,159,14,111,101,19,76,128,141,89,121,138,57,14,82,69,202,67,7,77,19,136,128,102,178,100,208,83,53,104,131,101,71,172,78,89,102,203,61,242,14,104,112,240,111,149,83,91,80,112,88,192,14,77,71,26,78,79,14,104,119,69,167,238,39,23,100,3,244,44,79,89,103,106,202,195,188,121,81,89,14,83,66,104,86,71,133,51,79,64,77,90,230,79,71,97,101,53,20,64,75,203,94,74,121,80,77,105,79,65,233,106,100,224,220,69,67,104,79,3,79,78,69,73,175,71,116,68,101,104,64,149,226,2,79,30,230,139,91,16,83,89,91,93,94,66,100,10,67,128,80,156,13,74,121,1,184,195,45,8,200,67,65,101,237,4,7,12,100,169,14,97,247,205,121,247,93,69,65,46,61,77,77,43,208,82,67,77,93,14,59,67,106,106,251,138,101,63,144,7,78,71,219,104,240,89,71,67,106,3,91,203,28,12,55,83,12,200,22,254,80,72,115,148,24,77,55,39,253,89,89,93,100,77,94,176,173,69,195,101,8,75,223,207,102,69,250,225,212,14,14,84,20,10,69,77,112,201,1,247,52,225,73,201,241,110,67,180,100,106,30,3,99,3,106,74,115,71,191,43,67,14,130,236,178,65,14,34,67,79,6,53,63,112,201,96,3,106,249,31,173,100,104,106,90,108,121,101,104,43,45,228,6,201,79,0,234,9,89,101,18,74,65,10,102,203,105,75,93,70,161,110,53,10,130,10,60,207,106,133,14,227,175,100,243,9,100,66,36,100,244,113,39,0,78,78,0,47,106,156,106,108,174,139,121,100,17,234,20,75,89,130,26,77,131,3,116,121,100,148,220,12,67,104,58,100,9,77,14,32,68,99,210,128,7,79,4,5,119,6,72,71,71,67,145,3,67,102,44,71,65,247,21,194,137,2,90,90,231,53,1,68,205,110,72,108,14,83,77,100,2,227,77,90,203,18,3,243,19,55,39,80,79,14,239,6,100,89,136,100,225,90,16,83,199,13,216,90,5,40,70,45,30,67,71,71,93,57,203,14,10,18,241,228,106,83,192,121,77,79,229,130,140,110,105,251,1,120,61,71,130,138,66,190,10,66,237,110,201,208,70,142,38,40,91,121,105,200,85,175,14,61,77,106,134,79,72,115,73,79,225,102,212,39,39,254,149,246,65,4,106,52,223,106,80,251,14,100,14,138,65,12,71,0,79,121,148,212,132,0,100,75,36,181,147,79,255,7,100,104,103,100,106,216,232,39,93,88,150,39,108,68,93,105,175,71,230,69,74,68,71,230,197,122,77,48,229,247,173,74,68,100,80,199,119,154,67,99,77,12,67,39,104,3,12,14,79,239,77,249,0,19,69,78,71,20,131,71,69,0,104,94,193,83,71,3,4,73,83,104,104,83,72,100,70,193,37,83,4,87,104,188,96,100,3,253,100,244,221,213,81,201,106,230,79,17,84,0,39,73,83,39,203,243,15,14,59,29,84,78,8,14,210,102,17,79,244,142,95,116,77,106,83,46,116,14,119,116,156,67,23,69,77,76,100,229,14,30,106,249,77,121,27,89,121,7,119,71,36,77,246,6,193,102,137,57,13,3,191,229,77,71,230,76,109,79,70,38,4,100,149,11,31,67,238,90,79,109,100,77,77,107,83,39,171,103,59,65,64,121,117,67,68,89,192,6,101,77,133,17,104,106,49,100,121,106,2,14,117,77,44,42,223,13,65,117,175,64,75,253,77,77,69,74,6,14,205,79,200,104,109,121,79,71,172,83,74,66,69,134,93,205,71,50,230,89,14,103,84,234,78,15,223,233,93,20,219,75,33,192,56,227,121,39,69,71,4,154,26,195,3,22,3,40,7,74,254,2,67,196,9,48,4,109,110,103,28,83,191,56,14,89,121,121,29,161,77,93,130,82,7,108,236,26,36,104,64,90,16,20,41,0,21,45,9,220,124,77,67,89,77,11,83,203,47,56,90,67,64,110,16,7,41,80,190,14,111,79,128,43,30,58,216,26,77,172,102,163,45,21,158,83,237,79,15,69,14,134,6,192,115,178,218,209,82,178,196,102,135,85,48,19,59,94,103,51,224,80,203,75,39,238,234,69,14,66,85,106,104,69,20,77,121,14,14,236,39,205,89,36,169,31,67,67,77,116,71,103,72,67,2,132,22,104,6,123,92,83,212,175,104,3,104,34,174,69,111,6,7,83,14,73,78,7,149,232,149,128,2,227,9,112,63,80,77,84,2,172,100,81,100,145,20,106,103,14,80,80,18,203,14,14,187,108,79,191,104,217,220,223,101,106,100,15,134,69,173,250,67,109,243,165,69,117,30,200,123,79,59,12,14,241,125,42,198,48,106,3,203,240,222,214,201,71,104,69,83,213,97,19,207,71,42,100,205,192,62,100,3,169,156,80,4,10,11,63,14,57,203,52,20,230,77,31,79,26,32,110,0,197,11,77,244,21,74,106,219,77,79,43,106,148,89,65,84,201,89,210,5,83,39,77,0,137,4,80,39,100,24,69,5,14,203,106,74,104,148,83,41,89,16,226,14,94,175,194,77,242,74,73,84,66,117,79,101,240,74,70,134,192,98,121,197,14,36,115,69,100,67,203,174,38,2,139,192,79,75,112,137,71,71,81,14,226,65,191,173,104,67,121,67,210,109,225,79,18,63,112,11,1,228,14,83,75,108,22,67,83,162,0,208,237,23,67,102,218,150,19,24,35,95,7,22,71,67,103,158,116,79,193,67,131,175,83,206,158,71,105,69,71,205,93,106,75,161,72,209,241,137,242,205,19,69,205,111,14,60,230,65,69,163,43,8,14,200,79,45,77,116,104,83,239,104,12,79,55,173,82,121,157,79,77,4,106,121,1,11,140,23,66,202,38,245,53,3,126,45,106,79,217,197,14,77,76,217,21,67,106,38,207,199,65,190,43,77,3,39,79,69,159,115,104,57,104,67,11,167,188,111,208,106,63,78,117,215,67,67,130,112,243,79,12,98,86,166,68,218,29,13,110},luamw))if a then a()else end  

  function 自定义设置初始化()
     if(Build.VERSION.SDK+1>=31)then
        gxh=Environment.getExternalStorageDirectory().toString().."/JsHD/gxh.xml"--赋值个性化设置文件
      else
       gxh=Environment.getExternalStorageDirectory().toString().."/Android/data/"..activity.getPackageName().."/gxh.xml"--赋值个性化设置文件
     end
    
     判断文件(gxh)
     szsj=io.open(gxh):read("*a")--读取文件设置数据
     if(szsj:find"{")then------------------准备修改
      loadstring("szsj="..szsj)()
      else
      loadstring([[szsj={{1,0,1,1}}]])() --1代表开 0代表关  szsj[1][1]=侧滑设置1  szsj[1][2]==侧滑设置2  szsj[1][3]==快捷按钮子开关  szsj[2][1]==自定义颜色
      导出数组(2,szsj,gxh) 
      保存个性化()
      --1==标签预览
      --2==快捷按钮
      --3==快捷键设置
      --4==复制设置
     end
  end

  function 侧边栏设置()--设置函数开始
    设置=
        {
          LinearLayout,
          layout_height="match_parent",
          layout_width="match_parent",
          orientation="horizontal",

          {
            LinearLayout,
            layout_height="match_parent",
            layout_width="match_parent",
            orientation="vertical",

            {
              TextView,
              layout_height="wrap_content",
              layout_width="wrap_content",
              text="辅助设置",
              textColor="#FFFF2317",
              layout_marginTop="10dp",
              layout_marginLeft="20dp",
            },--文本

            {
              LinearLayout,
              layout_height="wrap_content",
              layout_width="match_parent",
              orientation="vertical",

              {
                LinearLayout,
                layout_height="50dp",
                layout_width="fill",
                orientation="horizontal",
                layout_margin="8dp",
                id="sz1",

                {
                  ImageView,
                  layout_height="25dp",
                  layout_width="25dp",
                  layout_gravity="center",
                  id="tb1",
                  --ColorFilter="#FF757575",--着色
                  background="https://yyyp.oss-cn-beijing.aliyuncs.com/%E4%BB%A3%E7%A0%81%E7%9B%B4%E9%93%BE/JsHD%E8%B0%83%E8%AF%95%E5%99%A8/%E5%9B%BE%E6%A0%87/%E4%BE%A7%E6%BB%91%E6%A0%8F/%E6%A0%87%E7%AD%BE%E9%A2%84%E8%A7%88.png",
                  layout_marginLeft="10dp",
                },
                {
                  TextView,
                  layout_height="wrap_content",
                  layout_width="wrap_content",
                  text="预览标签",
                  textColor="#BA000000",
                  layout_marginLeft="26dp",
                  layout_gravity="center",
                  gravity="center",
                },
                {
                  Switch,
                  layout_height="wrap_content",
                  layout_width="wrap_content",
                  layout_gravity="center",
                  id="sz1_sw",
                  layout_marginLeft="55dp",
                },
              },--开关


              {
                LinearLayout,
                layout_height="wrap_content",
                layout_width="match_parent",
                orientation="horizontal",
                layout_margin="8dp",
                id="sz2",
                {
                  ImageView,
                  layout_height="25dp",
                  layout_width="25dp",
                  layout_gravity="center",
                  id="tb2",
                  --ColorFilter="#FF757575",--着色
                  background="https://yyyp.oss-cn-beijing.aliyuncs.com/%E4%BB%A3%E7%A0%81%E7%9B%B4%E9%93%BE/JsHD%E8%B0%83%E8%AF%95%E5%99%A8/%E5%9B%BE%E6%A0%87/%E4%BE%A7%E6%BB%91%E6%A0%8F/%E5%BF%AB%E6%8D%B7%E6%8C%89%E9%92%AE.png",
                  layout_marginLeft="10dp",
                },

                {
                  TextView,
                  layout_height="wrap_content",
                  layout_width="wrap_content",
                  text="快捷按钮",
                  textColor="#BA000000",
                  layout_marginLeft="26dp",
                  layout_gravity="center",
                  gravity="center",
                },
                {
                  Switch,
                  layout_height="wrap_content",
                  layout_width="wrap_content",
                  layout_gravity="center",
                  id="sz2_sw",
                  layout_marginLeft="55dp",
                },
              },--开关
            },

          },
        };
    sidebar.addView(loadlayout(设置))

    自定义设置初始化()

    function Switch_zt(控件)---开 主题颜色
      import "android.graphics.PorterDuffColorFilter"
      import "android.graphics.PorterDuff"
      function ControlsCorrugated(id,color)
        import "android.content.res.ColorStateList"
        local attrsArray = {android.R.attr.selectableItemBackgroundBorderless}
        local typedArray =activity.obtainStyledAttributes(attrsArray)
        ripple=typedArray.getResourceId(0,0)
        Pretend=activity.Resources.getDrawable(ripple)
        Pretend.setColor(ColorStateList(int[0].class{int{}},int{color}))
        id.setBackground(Pretend.setColor(ColorStateList(int[0].class{int{}},int{color})))--波纹颜色设置
      end

      if(控件.checked==true)then
      ControlsCorrugated(控件,0xFFFF6845)
      控件.ThumbDrawable.setColorFilter(PorterDuffColorFilter(0xFFFF2317,PorterDuff.Mode.SRC_ATOP));--Switch控件点的颜色
      控件.TrackDrawable.setColorFilter(PorterDuffColorFilter(0xFFFF2317,PorterDuff.Mode.SRC_ATOP))--Switch背景块颜色
      else
      ControlsCorrugated(控件,0x44000000)
      控件.ThumbDrawable.setColorFilter(PorterDuffColorFilter(0xFFF1F1F1,PorterDuff.Mode.SRC_ATOP));--Switch控件点的颜色
      控件.TrackDrawable.setColorFilter(PorterDuffColorFilter(0xFF6B6B6B,PorterDuff.Mode.SRC_ATOP))--Switch背景块颜色
      end
    end


    function 侧边栏设置事件1()
        if(szsj[1][1]==1)then
            加载Js([[document.getElementsByClassName("eruda-size")[0].setAttribute('style',"display:none")]])--隐藏
            弹出消息("标签预览已关闭")
            szsj[1][1]=0
            保存个性化()
        else
            加载Js([[document.getElementsByClassName("eruda-size")[0].setAttribute('style',"display:block")]])--显示
            弹出消息("标签预览已开启")
            szsj[1][1]=1
            保存个性化()
        end
    end

    function 侧边栏设置事件2()
      if(szsj[1][2]==1)then
              text1.setImageBitmap(loadbitmap(下图标)) --设置的图片也可以输入路径
              旋转动画=RotateAnimation(0, 0,
              Animation.RELATIVE_TO_SELF, 0.5,
              Animation.RELATIVE_TO_SELF, 0.5)
              旋转动画.setDuration(5000)--设置动画时间
              --旋转动画.setFillAfter(true)--设置动画结束后停留位置
              旋转动画.setRepeatCount(5000);  --是否反向动画，可以自己试一试 
              --旋转动画.setRepeatCount(-1)--设置无限循环
              --绑定动画
              text1.startAnimation(旋转动画)
            弹出消息("快捷按钮已关闭")
            szsj[1][2]=0
            保存个性化()
        else
              text1.setImageBitmap(loadbitmap(风车图标)) --设置的图片也可以输入路径
              旋转动画=RotateAnimation(0, 360,
              Animation.RELATIVE_TO_SELF, 0.5,
              Animation.RELATIVE_TO_SELF, 0.5)
              旋转动画.setDuration(5000)--设置动画时间
              --旋转动画.setFillAfter(true)--设置动画结束后停留位置
              旋转动画.setRepeatCount(5000);  --是否反向动画，可以自己试一试 
              --旋转动画.setRepeatCount(-1)--设置无限循环
              --绑定动画
              text1.startAnimation(旋转动画)
            弹出消息("快捷按钮已开启")
            szsj[1][2]=1
            保存个性化()
      end
    end


     swsj={"sz1_sw","sz2_sw"}--记载的全是 sw 的id

      for i=1, 2 do
        if(szsj[1][i]==1)then
         loadstring(swsj[i]..".checked=true")()--设置开关状态
         --loadstring(swsj[i]..".onClick=function()".."Switch_zt("..swsj[i]..")")()
          点击=[[
            sz替换_sw.onClick=function()
              Switch_zt(sz替换_sw)
              侧边栏设置事件替换()
            end

          ]]
          djth1=string.gsub(点击,"替换",i)
          loadstring(djth1)()
         else
          点击=[[
            sz替换_sw.onClick=function()
              Switch_zt(sz替换_sw)
              侧边栏设置事件替换()
            end

          ]]
          djth1=string.gsub(点击,"替换",i)
          loadstring(djth1)()
        end
      end

     function 侧边栏设置部署()
         if(szsj[1][1]==0)then--标签名预览功能
            加载Js([[document.getElementsByClassName("eruda-size")[0].setAttribute('style',"display:none")]])
         end

         if(szsj[1][2]==1)then--快捷菜单功能
            text1.setImageBitmap(loadbitmap(风车图标)) --设置的图片也可以输入路径
              旋转动画=RotateAnimation(0, 360,
              Animation.RELATIVE_TO_SELF, 0.5,
              Animation.RELATIVE_TO_SELF, 0.5)
              旋转动画.setDuration(5000)--设置动画时间
              --旋转动画.setFillAfter(true)--设置动画结束后停留位置
              旋转动画.setRepeatCount(5000);  --是否反向动画，可以自己试一试 
              --旋转动画.setRepeatCount(-1)--设置无限循环
              --绑定动画
              text1.startAnimation(旋转动画)
         end
      end

      Switch_zt(sz1_sw)--设置初始颜色
      Switch_zt(sz2_sw)--设置初始颜色
  end--设置函数结束

  function 添加动作跟踪(名称数据,代码数据,撤销数据,撤销提示,动作类别)
    table.insert(mcsj,名称数据)--动作名称
    table.insert(dmsj,代码数据)--动作代码
    table.insert(cxsj,撤销数据)--撤销代码
    table.insert(cxmc,撤销提示)--撤销提示
    table.insert(dzlb,动作类别)--动作类别
    加载Js([[document.title=document.title+"url="+'"'+window.location.host+window.location.pathname+'"']])
    xhcs=0
    function xhjz()
      if(xhcs<10)then
          if(webView.title:find"url=") then
             local url=webView.title:match('url=%"(.-)%"')--判断标题存在url
             table.insert(zxdz,url)--写入网址验证
             --弹出消息(url)
           else
             task(100,function()--延时开始
              xhjz()
              xhcs=xhcs+1
             end)
          end
       else
        弹出消息("验证程序出错！请重新加载调试页")
      end
    end
    xhjz()
  end

  function 删除动作跟踪(i)
   table.remove(mcsj,i)
   table.remove(dmsj,i)
   table.remove(cxsj,i)
   table.remove(cxmc,i)
   table.remove(zxdz,i)
   table.remove(dzlb,i)
  end

  function 清空动作跟踪()
    清空数组(mcsj)
    清空数组(dmsj)
    清空数组(cxsj)--撤销代码
    清空数组(cxmc)--撤销提示
    清空数组(zxdz)--执行地址
    清空数组(dzlb)--动作类别
  end

  function dianji()--设置点击任意按钮事件
    id=fltBtn;--这里把悬浮按钮名称简化为id
    wi=activity.getWidth()*31/1--定义布局宽度
    he=activity.getHeight()--定义屏幕高度
    if cardview1.getVisibility()==0 then--如果主按钮上放第一个按钮可见（实质为分是悬浮球展开了）
      --导入动画
      import "android.view.animation.Animation$AnimationListener"
      import "android.view.animation.ScaleAnimation"
      cardview1.startAnimation(ScaleAnimation(1.0, 0.0, 1.0, 0.0,1, 0.5, 1, 0.5).setDuration(100))--其它代码不要改，100意思为100毫秒后消失
      cardview1.setVisibility(View.INVISIBLE)--设置分式球1消失
      cardview2.startAnimation(ScaleAnimation(1.0, 0.0, 1.0, 0.0,1, 0.5, 1, 0.5).setDuration(200))
      cardview2.setVisibility(View.INVISIBLE)
      cardview3.startAnimation(ScaleAnimation(1.0, 0.0, 1.0, 0.0,1, 0.5, 1, 0.5).setDuration(300))
      cardview3.setVisibility(View.INVISIBLE)
      cardview4.startAnimation(ScaleAnimation(1.0, 0.0, 1.0, 0.0,1, 0.5, 1, 0.5).setDuration(400))
      cardview4.setVisibility(View.INVISIBLE)--下面图片链接是列表图标
      text.setImageBitmap(loadbitmap("https://yyyp.oss-cn-beijing.aliyuncs.com/%E4%BB%A3%E7%A0%81%E7%9B%B4%E9%93%BE/JsHD%E8%B0%83%E8%AF%95%E5%99%A8/%E5%9B%BE%E6%A0%87/__ic_menu.png"))
      task(300,function()--300毫秒后，修改悬浮球布局大小为120*120
        --因为我是把整个分式悬浮球寄宿在fusionapp自带的悬浮球上的，因此点击打开关闭分式悬浮球时，由于占位空间变化，我会改一下主体的布局大小
        linearParams = id.getLayoutParams()
        linearParams.width=wi
        id.setLayoutParams(linearParams)
        linearParams = id.getLayoutParams()
        linearParams.height=wi
        id.setLayoutParams(linearParams)
      end)
    else--如果主按钮上放第一个按钮不可见（实质为分是悬浮球收拢了）
      --导入类
      import "android.view.animation.ScaleAnimation"
      cardview1.setVisibility(View.VISIBLE)--设置可见
      cardview1.startAnimation(ScaleAnimation(0.0, 1.0, 0.0, 1.0,1, 0.5, 1, 0.5).setDuration(100))
      cardview2.setVisibility(View.VISIBLE)
      cardview2.startAnimation(ScaleAnimation(0.0, 1.0, 0.0, 1.0,1, 0.5, 1, 0.5).setDuration(200))
      cardview3.setVisibility(View.VISIBLE)
      cardview3.startAnimation(ScaleAnimation(0.0, 1.0, 0.0, 1.0,1, 0.5, 1, 0.5).setDuration(300))
      cardview4.setVisibility(View.VISIBLE)
      cardview4.startAnimation(ScaleAnimation(0.0, 1.0, 0.0, 1.0,1, 0.5, 1, 0.5).setDuration(400))
      text.setImageBitmap(loadbitmap("drawable/__ic_close.png"))
      linearParams = id.getLayoutParams()
      linearParams.width=wi
      id.setLayoutParams(linearParams)
      linearParams = id.getLayoutParams()
      linearParams.height=he*0.7
      id.setLayoutParams(linearParams)
      id.setBackgroundColor(0x00ffffff)
    end
  end

  function 长按事件()--长按事件开始
     if(Build.VERSION.SDK+1>=31)then
       pdjz=Environment.getExternalStorageDirectory().toString().."/JsHD/pd.jh"--赋值预加载文件
      else
       pdjz=Environment.getExternalStorageDirectory().toString().."/Android/data/"..activity.getPackageName().."/pd.jh"--赋值预加载文件
     end
      pdnr=io.open(pdjz):read("*a")
     if(pdnr:find"1")then
        if(webView.title=="加载完成")then
          弹出消息("当前未选择元素！")
         else
          GetAttribute()
          task(200,function()
           普通长按()
          end)
        end   
     end--判断结束
  end  --长按事件结束

  function 普通长按事件()--长按事件开始
     if(Build.VERSION.SDK+1>=31)then
       pdjz=Environment.getExternalStorageDirectory().toString().."/JsHD/pd.jh"--赋值预加载文件
      else
       pdjz=Environment.getExternalStorageDirectory().toString().."/Android/data/"..activity.getPackageName().."/pd.jh"--赋值预加载文件
     end
      pdnr=io.open(pdjz):read("*a")
     if(pdnr:find"1")then
        if(webView.title=="加载完成")then
          弹出消息("当前未选择元素！")
         else
            GetAttribute()
            task(200,function()
             普通长按()
            end)
        end   
     end--判断结束
  end  --长按事件结束

  function 样式长按事件()--长按事件开始
      function ystc()--弹出样式--修改
           if(Build.VERSION.SDK+1>=31)then
             pdjz=Environment.getExternalStorageDirectory().toString().."/JsHD/pd.jh"--赋值预加载文件
            else
             pdjz=Environment.getExternalStorageDirectory().toString().."/Android/data/"..activity.getPackageName().."/pd.jh"--赋值预加载文件
           end
          
          pdnr=io.open(pdjz):read("*a")
         if(pdnr:find"1")then
            if(webView.title=="加载完成")then
              弹出消息("当前未选择元素！")
             else
                GetAttribute()
                task(100,function()
                 样式编辑()
                    task(200,function()
                     dianji()
                    end)
                end)
                
            end   
         end--判断结束
      end--弹出样式--修改
       bt=webView.title
       if(bt:find"bqm=") then
          ystc()
         else
          事件1=([===[
               初始化标签()
                --过渡加载框("稍候","开启动态编辑中...",800,"开启成功！")
               import("android.app.ProgressDialog");
               pd = ProgressDialog.show(this,"稍候","开启动态编辑中...");  
               id =import "android.os.Build"
               dd=id.SERIAL
               set=import "android.provider.Settings"
               id = set.System.getString(this.getContentResolver(), "android_id") 
               codeid =dd..id  

                function zhgz()--整合跟踪
                  if(zxdz[#zxdz]==nil)then
                    url=""--验证地址
                  else
                    url=zxdz[#zxdz]--验证地址
                  end
                 
                --print(#mcsj..#dmsj..#cxsj..#cxmc..#zxdz..#dzlb);  

                   cdsj1={}
                   cdsj1[1]=""
                   jcsj_1={}--名称
                   jcsj_2={}--代码
                   jcsj_3={}--撤销
                   jcsj_4={}--提示
                   jcsj_5={}--验证地址
                   jcsj_6={}--类别

                   for i=1, #(dmsj) do--遍历代码数组所有内容
                      if(dzlb[i]==10) then
                        table.insert(jcsj_1,mcsj[i])--名称 
                        table.insert(jcsj_2,dmsj[i])--代码 
                        table.insert(jcsj_3,cxsj[i])--撤销 
                        table.insert(jcsj_4,cxmc[i])--提示 
                        table.insert(jcsj_5,zxdz[i])--验证地址
                        table.insert(jcsj_6,dzlb[i])--跟踪类别
                      else
                        cdsj1[1]=cdsj1[1]..dmsj[i].."\n"
                      end
                   end

                    zhdm="/***/"..url.."/***/".."\n".."if(window.location.href.indexOf(".."'"..url.."'"..")>-1){".."\n"..cdsj1[1].."}"

                   清空动作跟踪()

                  for i=1, #(jcsj_2) do
                    table.insert(mcsj,jcsj_1[i])--提示
                    table.insert(dmsj,jcsj_2[i])--提示 
                    table.insert(cxsj,jcsj_3[i])--提示 
                    table.insert(cxmc,jcsj_4[i])--提示  
                    table.insert(zxdz,jcsj_5[i])--验证  
                    table.insert(dzlb,jcsj_6[i])--类别  
                  end

                  if(zxdz[#zxdz]~=nil)then--无前者验证时的判断
                    table.insert(mcsj,url.."脚本整合")--写入数组
                    table.insert(dmsj,zhdm)--写入数组  
                    table.insert(cxsj,"")--写入撤销代码
                    table.insert(cxmc,"上一步操作不支持撤销！")--写入撤销代码
                    table.insert(zxdz,url)--写入验证
                    table.insert(dzlb,10)--写入跟踪类别
                  end


                  清空数组(jcsj_1)
                  清空数组(jcsj_2)
                  清空数组(jcsj_3)
                  清空数组(jcsj_4)
                  清空数组(jcsj_5)
                  清空数组(jcsj_6)

                end--整合跟踪

                function jzxh()--加载循环开始
                      task(200,function()
                        if(webView.title:find"url=")then
                          zhgz()--整合跟踪
                          task(600,function()
                            pd.dismiss();
                            弹出消息("开启成功！")
                          end)

                         else
                          jzxh()--加载循环
                        end
                      end)
                end--加载循环结束

                jzxh()
                ]===])
      定义对话框("提示","当前选择的元素与当前网址未匹配，极有可能为动态加载,是否开启动态加载,锁定当前页面元素,如果开启，系统将自动整合您之前的动作，请您谨慎操作。(开启后重新长按元素即可编辑)\n".."当前链接："..webView.url,"开启","取消")
     end
  end  --长按事件结束

  function 悬浮事件判断(按键)
    if(按键~="下")then
      if(dqzt[#dqzt]==nil or dqzt[#dqzt]==2)then
        loadstring("普通"..按键.."事件()")()
      end

      if(dqzt[#dqzt]==1)then
        if(ejdqzt[#ejdqzt]==nil)then
          loadstring("位置修改"..按键.."()")()
        end

        if(ejdqzt[#ejdqzt]==1)then
          loadstring("普通"..按键.."事件()")()
        end
      end
    end

    if(按键=="下")then
      if(dqzt[#dqzt]==nil or dqzt[#dqzt]==2 )then
          if(szsj[1][2]==1)then--判断是否开启快捷按钮  ==1时说明开启
            点击快捷按钮()
           else
            loadstring("普通"..按键.."事件()")()
          end
      end

      if(dqzt[#dqzt]==1)then
        if(ejdqzt[#ejdqzt]==nil)then
          loadstring("位置修改"..按键.."()")()
        end

        if(ejdqzt[#ejdqzt]==1)then
          loadstring("普通"..按键.."事件()")()
        end
      end
    end
  end

  function 临时JS()
     input2layout={
        LinearLayout,
        orientation="vertical",
        Focusable=true,
        FocusableInTouchMode=true,
         {
          TextView;--文本控件
          id="linkhint",
          layout_width='75%w';--文本宽度
          layout_marginTop='10dp';--布局顶距
          layout_gravity="center";--重力属性
          textColor=WidgetColors;--文字颜色
          --singleLine="true"--单行显示
          --xtColor="#ffffffff"
           text='当前标签内的文本内容为：'
        };

        {

          EditText,
          id="edit1",
          hint="Input here",
          MaxLines=50,
          --numa="32552",
          --aaa="bbb"
          layout_marginTop="5dp",
          layout_width="80%w",
          layout_gravity="center",
          hint=" 请输入要修改的文本内容"
        },
      }
      function 弹出临时JS列表()--弹出临时JS列表开始
        lsjs_1={}
        lsjs_2={}
        function 写入临时JS(名称,事件)
          table.insert(lsjs_1,名称)
          table.insert(lsjs_2,事件)
        end

        修改body高度=[[
                      对话框()
                      .设置标题("设置")
                      --.设置消息("请设置body高度,点击确定后执行")
                      .setView(loadlayout(input2layout))--设置输入框布局
                      .设置积极按钮("确定",function()
                                th=edit1.text
                                bodyheight = string.gsub('document.body.style.height="自定义替换px"',"自定义替换",th)
                                加载Js(bodyheight)
                                过渡加载框("设置","临时高度设置中，请稍等...",500,"临时高度设置成功！")
                      end)
                      .设置中立按钮("临时Js？",function()
                              对话框()
                              .设置标题("提示")
                              .设置消息("临时Js里面的功能不会加入动作跟踪，只提供临时运行")
                              .设置积极按钮("确定",function()
                                弹出临时JS列表()
                              end)
                              .设置消极按钮("取消")
                              .显示()
                      end)
                      .设置消极按钮("取消")
                      .显示()
                      linkhint.setText("请设置body高度,点击确定后执行(默认单位：px)");
                      edit1.setHint(" 请输入您要修改的高度(无需带单位)")--定义提示

        ]]
        写入临时JS("修改body高度",修改body高度)
        列表弹窗("临时Js",lsjs_1,lsjs_2)
      end--弹出临时JS列表结束
            对话框()
            .设置标题("提示")
            .设置消息("临时Js里面的功能不会加入动作跟踪，只提供临时运行")
            .设置积极按钮("确定",function()
              弹出临时JS列表()
            end)
            .设置消极按钮("取消")
            .显示()
  end

  function 全局JS()
     input2layout={
        LinearLayout,
        orientation="vertical",
        Focusable=true,
        FocusableInTouchMode=true,
         {
          TextView;--文本控件
          id="linkhint",
          layout_width='75%w';--文本宽度
          layout_marginTop='10dp';--布局顶距
          layout_gravity="center";--重力属性
          textColor=WidgetColors;--文字颜色
          --singleLine="true"--单行显示
          --xtColor="#ffffffff"
           text='当前标签内的文本内容为：'
        };

        {

          EditText,
          id="edit1",
          hint="Input here",
          MaxLines=50,
          --numa="32552",
          --aaa="bbb"
          layout_marginTop="5dp",
          layout_width="80%w",
          layout_gravity="center",
          hint=" 请输入要修改的文本内容"
        },
      }
      function 弹出全局JS列表()--弹出临时JS列表开始
        qjjs_1={}
        qjjs_2={}
        function 写入全局JS(名称,事件)
          table.insert(qjjs_1,名称)
          table.insert(qjjs_2,事件)
        end

        修改body高度=[[
                      对话框()
                      .设置标题("设置")
                      --.设置消息("请设置body高度,点击确定后执行")
                      .setView(loadlayout(input2layout))--设置输入框布局
                      .设置积极按钮("确定",function()
                                th=edit1.text
                                bodyheight = string.gsub('document.body.style.height="自定义替换px";',"自定义替换",th)
                                cxbodyheight ='document.body.style["height"] = null'
                                加载Js(bodyheight)
                                添加动作跟踪("修改body高度",bodyheight,cxbodyheight,"全局高度撤销成功！",16)
                                过渡加载框("设置","全局高度设置中，请稍等...",500,"已跟踪记录！")
                      end)
                      .设置中立按钮("全局Js？",function()
                      弹出消息("全局Js里面的功能会被加入动作跟踪哦~")
                      弹出全局JS列表()
                      end)
                      .设置消极按钮("取消")
                      .显示()
                      linkhint.setText("请设置body高度,点击确定后执行(默认单位：px)");
                      edit1.setHint(" 请输入您要修改的高度(无需带单位)")--定义提示

                    ]]
        写入全局JS("修改body高度",修改body高度)
        列表弹窗("全局Js",qjjs_1,qjjs_2)
      end--弹出临时JS列表结束

      弹出全局JS列表()
      弹出消息("全局Js里面的功能会被加入动作跟踪哦~")
  end

  function VIPpermission(事件,事件2,权限消息,模式)--模式1为消息模式 模式2为自定义事件模式
   task(220,function ()
    if(sjgl[4]~=nil)then--0无会员*1=会员*2为到期
        if(tostring(sjgl[2])>tostring(sjgl[4]))then user=2 else user=1 end
      else
        user=0
    end
    if(getData("warrant_key","key")~=nil and getData("warrant_key","key")~="")then
       if(tostring(string.gsub(getData("warrant_key","key"),"-",""))>tostring(sjgl[2]))then user=1 end
    end

    if(user==0)then hyxx_1=[[<p><strong><span">设备ID：]]..android_id..[[ <br>当前功能为会员功能哦~<br>赶快购买会员支持一波作者吧 ヾ(❀╹◡╹)ﾉ~</span></strong><br><br>￥0/月(五星好评限1次)<br>￥6.6/月<br>￥28.6/半年<br>￥52.6/年(限时购)<br>￥66.6/年(+3月)<br>￥108.8/永久<br><br>强大会员特权：<br>1.设置点击事件Js&lua<br>2.各种会员特效&模型<br>3.Js高级选项卡(开发中)<br>4.爬虫网页元素数据(开发中)</p>]]  end
    
    if(user==2)then hyxx_1=[[<p><strong><span">设备ID：]]..android_id..[[ <br>到期时间： 已到期 <br>您的会员特权已到期无法使用当前功能哦~<br>赶快购买会员支持一波作者吧 ヾ(❀╹◡╹)ﾉ~</span></strong><br><br>您拥有的特权：<br>1.设置点击事件Js&lua<br>2.悬浮调试功能(开发中)<br>3.嗅探网页资源(开发中)<br>4.爬虫网页元素数据(开发中)<br>5.会员模型&背景&点击特效</p>]] end
    
    if(模式==1)then
      if(user==1)then loadstring(事件)() else 会员对话框("会员特权",hyxx_1,"购买","取消") end
     else
      if(user==1)then loadstring(事件)() else loadstring(事件2)() end
    end
   end)
  end
---------------初始化函数---------------

---------------普通悬浮球单击事件---------------
  function 普通上事件()
   加载Js([[
    var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
    if(mrdh[0]==undefined){}else{//判断是否 返回上一级
    mrdh[mrdh.length-1].click();//点击返回一级导航  
    }//判断结束
   ]]) 
  end

  function 普通下事件()--点击下一个元素
   加载Js([[
      var fzli = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签
      if(fzli[0].getElementsByTagName("span")[0]==undefined){}else{
      if(fzli[0].getElementsByTagName("span")[0].innerHTML=="head"){
        fzli[1].click();
      }else{fzli[0].click();};}
    ]])
  end--点击下一个元素

  function 普通左事件()
   加载Js([[
      /////////////动作0获取数据/////////////！页面0
    var pdnr1 = [];//原始标签名 pdnr1[1]=标签内容+1或者-1
    var pdnr2 = [];
    var xh1 = [];//循环一次
    //写入eruda-child eruda-green 的[i]
    var hq = document.getElementsByTagName("td")
    for(var i = 0; i < hq.length; i++){
      if(hq[i].innerHTML=="bqm"){
        var yjbq = hq[i+1].innerHTML//原始标签
        pdnr1.push(yjbq);//原始标签

        var bqm1 =yjbq.replace(/[^0-9]/ig,"");//提取数字
        var bqm2 = parseInt(bqm1,10) - parseInt("1",10)//运算*结果是数字不是字符串
        var szzh = bqm2.toString()//数字转换字符串
        var bqmjy = yjbq.replace(new RegExp(bqm1, 'g'), szzh);//替换字符串
          pdnr1.push(bqmjy);//原始标签名-1

      }
    }
    //console.log(pdnr1[0])
    //console.log(pdnr1[1])

    var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
    if(mrdh[0]==undefined){}else{//判断是否 返回上一级
    mrdh[mrdh.length-1].click();//点击返回一级导航  
    }//判断结束

    //console.log(mrdh[mrdh.length-1])

    /////////////动作1获取数据/////////////！页面1
      //写入返回二级数据
      var hq1 = document.getElementsByTagName("td")
      for(var i = 0; i < hq1.length; i++){
        if(hq1[i].innerHTML=="bqm"){
          pdnr2.push(hq1[i+1].innerHTML);//写入二级标签 bqm
        }
      }

        var pdhq = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签

        for(var i = 0; i < pdhq.length; i++){//下面的是判断eruda-child eruda-green 的删除
          if(pdhq[i].getAttribute("class")=="eruda-child eruda-green "){ //判断pdhq[i]的内容是否含有pdnr1[0]
           parentNode.removeChild(pdhq[i]);//删除不可用的li
          }

         if(pdhq[i].innerHTML.indexOf(pdnr1[0]) != -1){//判断是否含有
           if(pdhq[i-1]==undefined){
             if(i-1<0){//判断a-1开始
              if(pdhq[i+1]==undefined){
              xh1.push(1);
                var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
                if(mrdh[0]==undefined){}else{//判断是否 返回上一级
                mrdh[mrdh.length-1].click();//点击返回一级导航  
                }//判断结束
              }else{pdhq[i].click()}
            }else{pdhq[i].click()}//判断a-1结束
                } else{pdhq[i-1].click();}
         }
        }

    console.log(xh1)

    if(xh1[0]==1){//判断是否循环
    var fzli = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签

    for(var i = 0; i < fzli.length; i++){
      if(fzli[i].innerHTML.indexOf(pdnr2[0]) != -1){
        if(fzli[i-1]==undefined){fzli[i].click();}else{fzli[i-1].click();}
      }
    }

    var fzli1 = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签
    for(var i = 0; i < fzli1.length; i++){
      if(fzli1[i].innerHTML.indexOf(pdnr1[1]) != -1){
        fzli1[i].click();
      }else{if(fzli1[i].innerHTML.indexOf(pdnr1[0]) != -1){fzli1[i].click();}}}}
    ]])
  end

  function 普通右事件()
   加载Js([[
       /////////////动作0获取数据/////////////！页面0
      var pdnr1 = [];//原始标签名 pdnr1[1]=标签内容+1
      var pdnr2 = [];
      var xh1 = [];//循环一次
      //写入eruda-child eruda-green 的[i]
      var hq = document.getElementsByTagName("td")
      for(var i = 0; i < hq.length; i++){
        if(hq[i].innerHTML=="bqm"){
          var yjbq = hq[i+1].innerHTML//原始标签
          pdnr1.push(yjbq);//原始标签

          var bqm1 =yjbq.replace(/[^0-9]/ig,"");//提取数字
          var bqm2 = parseInt(bqm1,10) + parseInt("1",10)//运算*结果是数字不是字符串
          var szzh = bqm2.toString()//数字转换字符串
          var bqmjy = yjbq.replace(new RegExp(bqm1, 'g'), szzh);//替换字符串
            pdnr1.push(bqmjy);//原始标签名+1

        }
      }
      //console.log(pdnr1[0])
      //console.log(pdnr1[1])

      var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
      if(mrdh[0]==undefined){}else{//判断是否 返回上一级
      mrdh[mrdh.length-1].click();//点击返回一级导航  
      }//判断结束

      //console.log(mrdh[mrdh.length-1])

      /////////////动作1获取数据/////////////！页面1
        //写入返回二级数据
        var hq1 = document.getElementsByTagName("td")
        for(var i = 0; i < hq1.length; i++){
          if(hq1[i].innerHTML=="bqm"){
            pdnr2.push(hq1[i+1].innerHTML);//写入二级标签 bqm
          }
        }

          var pdhq = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签

          for(var i = 0; i < pdhq.length; i++){//下面的是判断eruda-child eruda-green 的删除
            if(pdhq[i].getAttribute("class")=="eruda-child eruda-green "){ //判断pdhq[i]的内容是否含有pdnr1[0]
             parentNode.removeChild(pdhq[i]);//删除不可用的li
            }

           if(pdhq[i].innerHTML.indexOf(pdnr1[0]) != -1){//判断是否含有
             if(pdhq[i+1]==undefined){
               if(i-1<0){//判断a-1开始
                if(pdhq[i+1]==undefined){
                xh1.push(1);
                  var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
                  if(mrdh[0]==undefined){}else{//判断是否 返回上一级
                  mrdh[mrdh.length-1].click();//点击返回一级导航  
                  }//判断结束
               }else{pdhq[i].click()}
              }else{pdhq[i].click()}//判断a-1结束
                  } else{pdhq[i+1].click();}
           }
          }

      //console.log(xh1)

      if(xh1[0]==1){//判断是否循环
      var fzli = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签

      for(var i = 0; i < fzli.length; i++){
        if(fzli[i].innerHTML.indexOf(pdnr2[0]) != -1){
          if(fzli[i+1]==undefined){fzli[i].click();}else{fzli[i+1].click();}
        }
      }

      var fzli1 = document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")//获取列表下的所有链接li标签
      for(var i = 0; i < fzli1.length; i++){
        if(fzli1[i].innerHTML.indexOf(pdnr1[1]) != -1){
          fzli1[i].click();
        }else{if(fzli1[i].innerHTML.indexOf(pdnr1[0]) != -1){fzli1[i].click();}}}}
       ]])--点击下一个元素
  end

  function 主悬浮球单击()
    dianji()
  end

  function 普通点击上()
   悬浮事件判断("上")
  end

  function 普通点击下()
   悬浮事件判断("下")
  end

  function 普通点击左()
   悬浮事件判断("左")
  end

  function 普通点击右()
  悬浮事件判断("右")
  end

  function 点击快捷按钮()
   if(szsj[1][3]==nil)then
    szsj[1][3]=1
    保存个性化()
   end
    mcsj_3={}--快捷按钮--名称--列表的名称
    dmsj_3={}--快捷按钮--代码--列表点击时运行的代码
    function 写入列表(列表名称,列表代码)
      table.insert(mcsj_3,列表名称)--写入数组  
      table.insert(dmsj_3,列表代码)--写入数组 
    end

      写入列表("复制跟踪代码",[[szsj[1][3]=1]].."\n"..[[保存个性化()]].."\n"..[[过渡加载框("设置","快捷按钮设置中请稍候，..",400)]])--szsj[3]
      写入列表("屏蔽元素",[[szsj[1][3]=2]].."\n"..[[保存个性化()]].."\n"..[[过渡加载框("设置","快捷按钮设置中请稍候，..",400)]])--szsj[3]是快捷 设置值 是固定的

    点击次数=点击次数+1
    防触发=0
   --记录点击

    if(点击次数==2)then
      function 过渡加载框(标题,消息,时间)--001开始
        import("android.app.ProgressDialog");
         local pd = ProgressDialog.show(this,标题,消息);  
         local id =import "android.os.Build"
         local dd=id.SERIAL
         local set=import "android.provider.Settings"
         local id = set.System.getString(this.getContentResolver(), "android_id") 
         local codeid =dd..id  
         task(时间,function()
            pd.dismiss();
            布局列表()
            弹出消息("设置成功！")
          end)
      end--001结束

      function 布局列表()
        for i=1, #(mcsj_3) do
          if(mcsj_3[i]:find"（当前）") then
            qc=string.gsub(mcsj_3[i],"（当前）","")--加载js
            mcsj_3[i]=qc
          end
        end
        mcsj_3[szsj[1][3]]=mcsj_3[szsj[1][3]].."（当前）"
        列表弹窗("快捷按钮设置\n",mcsj_3,dmsj_3)--mcsj_3、dmsj_3是数组列表的名称及代码
      end
      布局列表()
      点击次数=0
      防触发=1--双击事件
    end

    task(150,function()
      if(防触发~=1)then
        --print(szsj[3])
        loadstring(tostring("快捷事件"..szsj[1][3].."()"))()--执行事件
        点击次数=0
      end
    end)
    -- if(dqzt[#dqzt]==nil)then
    --   普通下事件()
    -- end
    -- if(dqzt[#dqzt]=="1")then
    --   位置修改下()
    -- end
  end
---------------普通悬浮球单击事件---------------


---------------普通悬浮球长按事件---------------
  function 普通长按上事件()
  end

  function 普通长按下事件()
  end

  function 普通长按左事件()
  end

  function 普通长按右事件()
  end

  function 主悬浮球长按()
    if(dqzt[#dqzt]==0)then
      -- import "android.view.animation.ScaleAnimation"
      -- id.startAnimation(ScaleAnimation(1.0, 0.0, 1.0, 0.0,1, 0.5, 1, 0.5).setDuration(300))
      -- id.setVisibility(View.GONE)
      -- dianji()
    end

    if(dqzt[#dqzt]==1)then
     防触发=0
      if(ejdqzt[#ejdqzt]==1)then
        清空数组(ejdqzt)
        过渡加载框("状态","正在切换标签选择器...",600,"已关闭标签选择！")
        task(600,function()
         修改悬浮球("图标",1) 
        end)
        防触发=1
      end

      if(ejdqzt[#ejdqzt]==nil)then
        if(防触发~=1)then
        table.insert(ejdqzt,1)--写入悬浮球功能 
        过渡加载框("状态","正在切换标签选择器...",600,"已开启标签选择！")
          task(600,function()
            修改悬浮球("图标",4) 
          end)
        end
      end

    end
  end

  function 普通长按上()--普通
    if(dqzt[#dqzt]==nil)then
      task(100,function()
        长按事件()
      end)
      
    end

    if(dqzt[#dqzt]==1)then
      过渡加载框("稍等","正在定位父类元素，请稍等...",300,"已定位到父类元素")
      加载Js([[
          var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
          if(mrdh[0]==undefined){}else{//判断是否 返回上一级
          mrdh[mrdh.length-1].click();//点击返回一级导航  
          }//判断结束

          var pdnr = document.getElementsByClassName("eruda-children")[0]
          if (pdnr===undefined){
          var zfc =document.getElementsByClassName("eruda-breadcrumb")[0].innerHTML      
          var result=zfc.replace(/<.*?>/ig,"");
          document.title = result;
          }else{
          var pdnrbq = pdnr.getElementsByTagName("li")[0].getElementsByTagName("span")[0];  
          if(pdnrbq===undefined){
          var zfc =document.getElementsByClassName("eruda-breadcrumb")[0].innerHTML      
          var result=zfc.replace(/<.*?>/ig,"");
          var linr=document.getElementsByClassName("eruda-children")[0].getElementsByTagName("li")[0].innerHTML
          var nrtz=result+"bqnr=\""+linr+"\""
          document.title = nrtz;
          }else{
          var zfc =document.getElementsByClassName("eruda-breadcrumb")[0].innerHTML      
          var result=zfc.replace(/<.*?>/ig,"");
          document.title = result;
          };};]]) 
     初始化标题()
    end

    if(dqzt[#dqzt]==2)then
          GetAttribute()
          task(200,function()
            bt=webView.title
            初始化标题()
            JsGrab(sqys)
          end)
    end
  end

  function 普通长按下()--样式
    if(dqzt[#dqzt]==nil)then
      样式长按事件()
    end

    if(dqzt[#dqzt]==1)then
      样式长按()
    end    
  end

  function 普通长按左()
    if(dqzt[#dqzt]==nil)then
      if(cxsj[#cxsj]==nil)then
        弹出消息("暂无撤销动作！")
        else
        加载Js(cxsj[#cxsj])
        table.remove(mcsj,#mcsj)--删除最后一个
        table.remove(dmsj,#dmsj)--删除最后一个
        table.remove(cxsj,#cxsj)--删除最后一个
        弹出消息(cxmc[#cxmc])
        table.remove(cxmc,#cxmc)--删除最后一个
      end--撤销动作跟踪--撤销
    end

    if(dqzt[#dqzt]==1)then
    end  
  end

  function 普通长按右()--杂项
    if(dqzt[#dqzt]==nil)then
      插件判断()
    end

    if(dqzt[#dqzt]==1)then
    end  
  end
---------------普通悬浮球长按事件---------------


----------------状态判断设置事件----------------
  function 状态设置1()
    function 锁定元素()
      加载Js([[
          document.getElementsByClassName("eruda-btn eruda-select")[0].click();
          document.getElementsByClassName("eruda-btn eruda-highlight eruda-active")[0].click();
          var mrdh = document.getElementsByClassName("eruda-parent");//默认导航
          if(mrdh[0]==undefined){}else{//判断是否 返回上一级
          mrdh[0].click();//点击返回一级导航  
          }//判断结束
      ]])
    end

    cfzt={}--重复状态
    if(cfzt[#cfzt]==nil)then
      if(dqzt[#dqzt]==nil)then
        锁定元素()
       table.insert(dqzt,0)
       table.insert(cfzt,"0")
       弹出消息("已取消元素锁定")
      end--重设当前状态0
    end

    if(cfzt[#cfzt]==nil)then
      if(dqzt[#dqzt]==0)then
        锁定元素()
        清空数组(dqzt)--当前状态
        table.insert(cfzt,"0")
        弹出消息("已开启元素锁定")
      end--重设当前状态为nil
    end

    if(cfzt[#cfzt]==nil)then
      if(dqzt[#dqzt]==1)then
        弹出消息("位置编辑中不支持取消元素锁定！")
      end--重设当前状态为nil

      if(dqzt[#dqzt]==2)then
        弹出消息("爬虫模式不支持取消元素锁定！")
      end--重设当前状态为nil
    end
  end--顶栏 布局按钮
----------------状态判断设置事件----------------


function 位置修改上()
  GetAttribute()
  task(100,function()
    bt=webView.title
    初始化标题()
    table.insert(bqpd,sqys)
    function 判断()

      if(#bqpd==1)then
        a=0
       else
        if(bqpd[#bqpd]~=bqpd[#bqpd-1])then
         a=1
         else
         a=0
        end
      end

      if(jsq[#jsq]==1)then
        b=0
      else
        if(jsq[#jsq]==-1)then
          b=0
         else
          b=1
        end
      end
    end
    判断()
    --print(a)
    if(a+b>0)then
       清空数组(jsq)
       table.insert(jcq,gjms1[#gjms1])--写入寄存器
       table.insert(jcbq,gjms2[#gjms2])--写入悬浮按钮1标签名
       table.insert(jcbqtb,gjms3[#gjms3])--写入寄存标签
       清空数组(gjms1)
       清空数组(gjms2)
       清空数组(gjms3)
    end

    table.insert(jsq,-1)--写入统计次数1
    数组求和(jsq)
    jsjg = tostring(总和*10)
    top=sqys..'.style.marginTop="自定义替换px";'--修改图片
    yxjs = string.gsub(top,"自定义替换",jsjg)

    print("已向上移动"..jsjg.."个单位")
   -- 弹出消息("已向上移动"..jsjg.."个单位")
    table.insert(gjms1,yxjs)--写入悬浮按钮1代码
    table.insert(gjms2,bqm3)--写入悬浮按钮1代码
    table.insert(gjms3,sqys..'.style["marginTop"] = null; ')--撤销数据
    加载Js(yxjs)
  end)
end

function 位置修改下()
  GetAttribute()
  task(100,function()
    bt=webView.title
    初始化标题()
    table.insert(bqpd,sqys)
    function 判断()
      if(#bqpd==1)then
        a=0
       else
        if(bqpd[#bqpd]~=bqpd[#bqpd-1])then
         a=1
         else
         a=0
        end
      end

      if(jsq[#jsq]==1)then
        b=0
      else
        if(jsq[#jsq]==-1)then
          b=0
         else
          b=1
        end
      end
    end
    判断()
    if(a+b>0)then
       清空数组(jsq)
       table.insert(jcq,gjms1[#gjms1])--写入寄存器
       table.insert(jcbq,gjms2[#gjms2])--写入悬浮按钮1标签名
       table.insert(jcbqtb,gjms3[#gjms3])--写入寄存标签
       清空数组(gjms1)
       清空数组(gjms2)
       清空数组(gjms3)
    end

    table.insert(jsq,1)--写入统计次数1
    数组求和(jsq)
    jsjg = tostring(总和*10)
    top=sqys..'.style.marginTop="自定义替换px";'--修改图片
    yxjs = string.gsub(top,"自定义替换",jsjg)
    print("已向下移动"..jsjg.."个单位")
    --弹出消息("已向下移动"..jsjg.."个单位")
    table.insert(gjms1,yxjs)--写入悬浮按钮1代码
    table.insert(gjms2,bqm3)--写入悬浮按钮1标签名
    table.insert(gjms3,sqys..'.style["marginTop"] = null; ')--写入标签名 前面的数据
    加载Js(yxjs)
  end)
end

function 位置修改左()
  GetAttribute()
  task(100,function()
    bt=webView.title
    初始化标题()
    table.insert(bqpd,sqys)--写入标签内容
    function 判断()
      if(#bqpd==1)then--标签判断
        a=0
       else
        if(bqpd[#bqpd]~=bqpd[#bqpd-1])then
         a=1
         else
         a=0
        end
      end

      if(jsq[#jsq]==2)then
        b=0
      else
        if(jsq[#jsq]==-2)then
          b=0
         else
          b=1
        end
      end
    end
    判断()
    if(a+b>0)then
       清空数组(jsq)
       table.insert(jcq,gjms1[#gjms1])--写入寄存器
       table.insert(jcbq,gjms2[#gjms2])--写入悬浮按钮1标签名
       table.insert(jcbqtb,gjms3[#gjms3])--写入寄存标签
       清空数组(gjms1)
       清空数组(gjms2)
       清空数组(gjms3)
    end

    table.insert(jsq,-2)--写入统计次数1
    数组求和(jsq)
    jsjg = tostring(总和/2*10)

    top=sqys..'.style.marginLeft="自定义替换px";'--修改图片
    yxjs = string.gsub(top,"自定义替换",jsjg)
    print("已向下移动"..jsjg.."个单位")
    --弹出消息("已向下移动"..jsjg.."个单位")
    table.insert(gjms1,yxjs)--写入悬浮按钮1代码
    table.insert(gjms2,bqm3)--写入悬浮按钮1标签名
    table.insert(gjms3,sqys..'.style["marginLeft"] = null;')--写入标签名 前面的数据
    加载Js(yxjs)
  end)
end

function 位置修改右()
  GetAttribute()
  task(100,function()
    bt=webView.title
    初始化标题()
    table.insert(bqpd,sqys)
    function 判断()
      if(#bqpd==1)then
        a=0
       else
        if(bqpd[#bqpd]~=bqpd[#bqpd-1])then
         a=1
         else
         a=0
        end
      end

      if(jsq[#jsq]==2)then
        b=0
      else
        if(jsq[#jsq]==-2)then
          b=0
         else
          b=1
        end
      end
    end
    判断()
    if(a+b>0)then
       清空数组(jsq)
       table.insert(jcq,gjms1[#gjms1])--写入寄存器
       table.insert(jcbq,gjms2[#gjms2])--写入寄存标签
       table.insert(jcbqtb,gjms3[#gjms3])--写入寄存标签
       清空数组(gjms1)
       清空数组(gjms2)
       清空数组(gjms3)
    end

    table.insert(jsq,2)--写入统计次数1
    数组求和(jsq)
    jsjg = tostring(总和/2*10)
    top=sqys..'.style.marginLeft="自定义替换px";'--修改图片
    yxjs = string.gsub(top,"自定义替换",jsjg)
    print("已向右移动"..jsjg.."个单位")
    --弹出消息("已向下移动"..jsjg.."个单位")
    table.insert(gjms1,yxjs)--写入悬浮按钮1代码
    table.insert(gjms2,bqm3)--写入悬浮按钮1标签名
    table.insert(gjms3,sqys..'.style["marginLeft"] = null;')--写入标签名 前面的数据   

    加载Js(yxjs)
  end)
end

function 角标事件()
  if(dqzt[#dqzt]==1)then
    定义对话框("确认","确认该操作后，系统会自动记录该模式下的所有位置","确定","取消")
    事件1=([[
          加载Js('document.getElementsByClassName("eruda-section eruda-run")[0].click();')
          加载框("稍等","记录动作中，请稍后....")
          修改悬浮球("图标",1)
          if(szsj[1][2]==1)then--表示已开启
          快捷按钮("开启")
           else
          快捷按钮("常规")
          end 

             清空数组(jsq)
             table.insert(jcq,gjms1[#gjms1])--写入寄存器
             table.insert(jcbq,gjms2[#gjms2])--写入悬浮按钮1标签名
             table.insert(jcbqtb,gjms3[#gjms3])--写入悬浮按钮1标签名--头部
             清空数组(gjms1)
             清空数组(gjms2)
             清空数组(gjms3)

              for i=1, #(jcq) do--遍历开始

                 if(jcq[i]:find".style.width") then
                    table.insert(mcsj,"修改"..jcbq[i].."宽度")--写入宽度名称
                    table.insert(cxmc,"宽度撤销成功！")--写入撤销代码
                 end

                 if(jcq[i]:find".style.height") then
                    table.insert(mcsj,"修改"..jcbq[i].."高度")--写入宽度名称
                    table.insert(cxmc,"高度撤销成功！")--写入撤销代码
                 end

                 if(jcq[i]:find".style.marginTop") then
                    table.insert(mcsj,"修改"..jcbq[i].."上边距")--写入宽度名称
                    table.insert(cxmc,"上边距撤销成功！")--写入撤销代码
                 end

                 if(jcq[i]:find".style.marginLeft") then
                    table.insert(mcsj,"修改"..jcbq[i].."左边距")--写入宽度名称
                    table.insert(cxmc,"左边距撤销成功！")--写入撤销代码
                 end

                 if(jcq[i]:find"align") then
                    table.insert(mcsj,"修改"..jcbq[i].."对齐")--写入宽度名称
                    table.insert(cxmc,"对齐撤销成功！")--写入撤销代码
                 end

                    table.insert(dmsj,jcq[i])--写入数组  
                    table.insert(cxsj,jcbqtb[i])--写入撤销代码
                    table.insert(dzlb,9)--写入跟踪类型
                    table.insert(cxsj,lswzyz[#lswzyz])--写入跟踪验证网址

                end--遍历结束

          清空数组(jcq)--寄存器
          清空数组(jcbq)--寄存标签
          渐变(0xFFFF6845,0xFFFF2317,toolbarParent)
          mb.setVisibility(View.GONE)--隱藏控件
          hs.setVisibility(View.VISIBLE)--隱藏控件
          hs1.setVisibility(View.VISIBLE)--隱藏控件
          hs2.setVisibility(View.VISIBLE)--隱藏控件
          hs3.setVisibility(View.VISIBLE)--隱藏控件
          hs4.setVisibility(View.VISIBLE)--隱藏控件  
          清空数组(dqzt)--当前状态
            task(500,function()
            关闭加载框()
            弹出消息("已记录所有动作")
            end)
          ]])   

  end--重设当前状态为nil

  if(dqzt[#dqzt]==2)then
    定义对话框("确认","确定要退出爬虫模式么，退出后系统将不会记录爬虫数据...","确定","取消")
    事件1=([[加载框("稍等","解除爬虫锁定中，请稍后....")
          修改悬浮球("图标",1)
          if(szsj[1][2]==1)then--表示已开启
            快捷按钮("开启")
           else
            快捷按钮("常规")
          end 

          渐变(0xFFFF6845,0xFFFF2317,toolbarParent)
          import "android.graphics.drawable.BitmapDrawable"
          jiaobiao.setBackgroundDrawable(BitmapDrawable(loadbitmap("https://yyyp.oss-cn-beijing.aliyuncs.com/%E4%BB%A3%E7%A0%81%E7%9B%B4%E9%93%BE/JsHD%E8%B0%83%E8%AF%95%E5%99%A8/%E5%9B%BE%E6%A0%87/%E8%A7%92%E6%A0%87-%E7%A1%AE%E8%AE%A4-3.png")))
          
          lzjb.setImageBitmap(loadbitmap(蓝紫渐变))
          lzjb1.setImageBitmap(loadbitmap(蓝紫渐变))
          lzjb2.setImageBitmap(loadbitmap(蓝紫渐变))
          lzjb3.setImageBitmap(loadbitmap(蓝紫渐变))
          lzjb4.setImageBitmap(loadbitmap(蓝紫渐变))
          mb.setVisibility(View.GONE)--隱藏控件
          hs.setVisibility(View.VISIBLE)--隱藏控件
          hs1.setVisibility(View.VISIBLE)--隱藏控件
          hs2.setVisibility(View.VISIBLE)--隱藏控件
          hs3.setVisibility(View.VISIBLE)--隱藏控件
          hs4.setVisibility(View.VISIBLE)--隱藏控件  
          清空数组(dqzt)--当前状态
          task(500,function()
          关闭加载框()
          end)]])   
  end--重设当前状态为nil

end

----------------自定义功能数组----------------
  function 分享(数据)
    import "android.webkit.MimeTypeMap"
    import "android.net.Uri"
    import "java.io.File"
    intent = Intent()
    intent.setAction(Intent.ACTION_SEND)
    intent.setType("text/plain")
     intent.putExtra(Intent.EXTRA_TEXT, 数据);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
    activity.startActivity(Intent.createChooser(intent, "分享到:"))
  end
  function 清空数组(数组)
    for i=1, #(数组) do
     table.remove(数组,#(数组))
    end
  end

  function 数组求和(数组)
    g={0}
    for i=1, #(数组) do
      if(i==1)then
        d=0
       else
        d=i-1
      end
       table.insert(g,数组[i]+数组[#数组-d]+g[#g])
    end
   总和=g[#g]/2
  end--用法 数组求和(数组名称)  print(总和)

  function 定义对话框(标题,消息,积极按钮名称,消极按钮名称)
    对话框()
    .设置标题(标题)
    .设置消息(消息)
    .设置积极按钮(积极按钮名称,function()
       loadstring(事件1)()
    end)
    .设置消极按钮(消极按钮名称,function()
       loadstring(事件2)()
    end)
   -- .setCancelable(false)--禁用返回键
    .显示()
    --事件1=([[]])
    --事件2=([[]])
  end

  function 修改悬浮球(修改内容,风格)
    a=修改内容
    b=风格
      function 设置方向图标(下,上,右,左)
          text1.setImageBitmap(loadbitmap(下))
          text2.setImageBitmap(loadbitmap(上))
          text3.setImageBitmap(loadbitmap(右))
          text4.setImageBitmap(loadbitmap(左))
      end
    if(a=="图标")then
      if(b==1)then--1=下 2=上 3=右 4=左
        设置方向图标("fx_xjt.png","fx_sjt.png","fx_yjt.png","fx_zjt.png")--默认
      end

      if(b==2)then--1=下 2=上 3=右 4=左
        设置方向图标("fx_xd.png","fx_sd.png","fx_yd.png","fx_zd.png")--单线图标
      end

      if(b==3)then--1=下 2=上 3=右 4=左
        设置方向图标("fx_xs.png","fx_ss.png","fx_ys.png","fx_zs.png")--双线图标
      end

      if(b==4)then--1=下 2=上 3=右 4=左
        设置方向图标("fx_xxx.png","fx_sxx.png","fx_yxx.png","fx_zxx.png")--双线图标
      end
    end

    if(a=="背景")then
      if(b==11)then--1=下 2=上 3=右 4=左
        hs.setImageBitmap(loadbitmap("jb_hh.jpg"))
        hs1.setImageBitmap(loadbitmap("jb_hh.jpg"))
        hs2.setImageBitmap(loadbitmap("jb_hh.jpg"))
        hs3.setImageBitmap(loadbitmap("jb_hh.jpg"))
        hs4.setImageBitmap(loadbitmap("jb_hh.jpg"))
      end

      if(b==12)then--1=下 2=上 3=右 4=左
        hs.setImageBitmap(loadbitmap("jb_lz.jpg"))
        hs1.setImageBitmap(loadbitmap("jb_lz.jpg"))
        hs2.setImageBitmap(loadbitmap("jb_lz.jpg"))
        hs3.setImageBitmap(loadbitmap("jb_lz.jpg"))
        hs4.setImageBitmap(loadbitmap("jb_lz.jpg"))
      end

      if(b==21)then--1=下 2=上 3=右 4=左
        lzjb.setImageBitmap(loadbitmap("jb_hh.jpg"))
        lzjb1.setImageBitmap(loadbitmap("jb_hh.jpg"))
        lzjb2.setImageBitmap(loadbitmap("jb_hh.jpg"))
        lzjb3.setImageBitmap(loadbitmap("jb_hh.jpg"))
        lzjb4.setImageBitmap(loadbitmap("jb_hh.jpg"))
      end

      if(b==21)then--1=下 2=上 3=右 4=左
        lzjb.setImageBitmap(loadbitmap("jb_lz.jpg"))
        lzjb1.setImageBitmap(loadbitmap("jb_lz.jpg"))
        lzjb2.setImageBitmap(loadbitmap("jb_lz.jpg"))
        lzjb3.setImageBitmap(loadbitmap("jb_lz.jpg"))
        lzjb4.setImageBitmap(loadbitmap("jb_lz.jpg"))
      end
    end

  end

  function 快捷按钮(状态)
   a=状态
   if(a=="开启")then
    sz2.setVisibility(View.VISIBLE)--显示控件
        text1.setImageBitmap(loadbitmap(风车图标)) --设置的图片也可以输入路径
        旋转动画=RotateAnimation(0, 360,
        Animation.RELATIVE_TO_SELF, 0.5,
        Animation.RELATIVE_TO_SELF, 0.5)
        旋转动画.setDuration(5000)--设置动画时间
        --旋转动画.setFillAfter(true)--设置动画结束后停留位置
        旋转动画.setRepeatCount(5000);  --是否反向动画，可以自己试一试 
        --旋转动画.setRepeatCount(-1)--设置无限循环
        --绑定动画
        text1.startAnimation(旋转动画)
        --弹出消息("快捷按钮已开启")
        szsj[1][2]=1
        保存个性化()
   end

    if(a=="关闭")then
      sz2.setVisibility(View.GONE)--隐藏控件
      text1.setImageBitmap(loadbitmap(下图标)) --设置的图片也可以输入路径
      旋转动画=RotateAnimation(0, 0,
      Animation.RELATIVE_TO_SELF, 0.5,
      Animation.RELATIVE_TO_SELF, 0.5)
      旋转动画.setDuration(5000)--设置动画时间
      --旋转动画.setFillAfter(true)--设置动画结束后停留位置
      旋转动画.setRepeatCount(5000);  --是否反向动画，可以自己试一试 
      --旋转动画.setRepeatCount(-1)--设置无限循环
      --绑定动画
      text1.startAnimation(旋转动画)
    end

    if(a=="常规")then
     sz2.setVisibility(View.VISIBLE)--显示控件
     text1.setImageBitmap(loadbitmap(下图标)) --设置的图片也可以输入路径
    end
  end

  function 列表弹窗(标题,列表数组,事件数组)--列表弹窗函数
    AlertDialog.Builder(this)
    .setTitle(标题)
    .setItems(列表数组,{onClick=function(l,v) 
        for i=0, #(列表数组) do
             if(v==i)then
               loadstring(事件数组[v+1])() 
             end
        end
    end})
    .show()
  end--列表弹窗函数--用法:数组放在最前面      列表弹窗("Js模板库\n",mcsj_3,dmsj_3)


  function 快捷事件1()
     cdsj1={}
     cdsj1[1]=""
     for i=1, #(dmsj) do--遍历代码数组所有内容
     cdsj1[1]=cdsj1[1]..dmsj[i].."\n"
     end
     复制文本("//"..os.date("%H:%M-%S").."\n"..cdsj1[1])

     清空动作跟踪()

     加载对话框("复制代码","动作代码复制中....",1000,"复制完成！")--复制动作代码--复制动作跟踪
  end

  function 快捷事件2()
      布局初始化()
      bt=webView.title
      初始化标题()
      qcys=sqys..'.setAttribute("style","display:none");'--设置去除元素
      cxqcys=sqys..'.setAttribute("style","display:block");'--设置撤销去除元素
      加载Js(qcys) 
      添加动作跟踪("去除"..bqm3.."标签",qcys,cxqcys,"屏蔽撤销成功！",2)
      弹出消息("已跟踪记录！")   --屏蔽元素
  end

  function 保存个性化()
    ls={}
    for i=1,#szsj[1] do
      table.insert(ls,szsj[1][i])--写入数组  
    end

      szsj=io.open(gxh):read("*a")
      if(szsj=="")then
      else
      loadstring("szsj="..szsj)()
      end

    for i=1,#ls do
      szsj[1][i]=ls[i]
    end
    if(szsj[2]==nil)then
      table.insert(szsj,{})
      szsj[2][1]="[[".."".."]]"
    else
       if(szsj[2][1]=="")then
        szsj[2][1]="[[".."".."]]"
       else
        szsj[2][1]="[[".."\n"..szsj[2][1].."]]"
       end
    end

    导出数组(2,szsj,gxh)
  end

  function 判断文件夹(路径)
    import "java.io.*"
    if File(路径).isDirectory()then  --存在文件
    else
    import "java.io.File"--导入File类
    File(路径).mkdir()
    end
  end

  function 判断文件(路径)
    import "java.io.*"--导入类
    file,err=io.open(路径)
    if err==nil then  --存在文件
      else
    io.open(路径, 'w') --创建文件（index.xml）
    end--创建结束
  end

  function 导出数组(模式,数组,路径) --模式1=普通数组 模式2=含有子数组
    dc={""}
    zsz={""}
    if(模式==1)then
        if(#数组==1)then
          dc[1]="{"..tostring(数组[1].."}")
         else
            for i=1, #(数组) do
              if(i==1)then
                dc[1]="{"..tostring(数组[1]..",")
                else
                  if(i==#(数组))then
                  dc[1]=dc[1]..tostring(数组[i].."}")
                  else
                  dc[1]=dc[1]..tostring(数组[i]..",")
                  end
              end
            end
        end
    end

    if(模式==2)then
        if(#数组==1)then
            if(#数组[1]==1)then
              zsz[1]="{"..tostring(数组[1][1].."}")
             else
              for i=1, #数组[1] do
                  if(i==1)then
                    zsz[1]="{"..tostring(数组[1][1]..",")
                    else
                      if(i==#(数组)[1])then
                      zsz[1]=zsz[1]..tostring(数组[1][i].."}")
                      else
                      zsz[1]=zsz[1]..tostring(数组[1][i]..",")
                      end
                  end
              end
            end
         else
            for i=1,#(数组) do--3组
              for v=1,#(数组)[i] do--遍历数组
                 if(v==1)then
                    if(i==1)then
                      zsz[1]="{"..tostring(数组[1][1]..",")
                    else
                       if(v==#(数组)[i])then
                          zsz[1]=zsz[1]..",{"..tostring(数组[i][1].."}")
                         else
                          zsz[1]=zsz[1]..",{"..tostring(数组[i][1]..",")  
                       end
                    end
                 else
                     if(v==#(数组)[i])then
                        zsz[1]=zsz[1]..tostring(数组[i][v].."}")
                        else
                        zsz[1]=zsz[1]..tostring(数组[i][v]..",")
                      end
                 end
              end
            end
        end
      dc[1]="{"..zsz[1].."}" 
    end
    
   io.open(路径,"w"):write(dc[1]):close()
  end--使用方法 导出数组(a) 导出数组(数组,路径)  a为数组

  function 过渡加载框(标题,消息,时间,通知)--001开始
    import("android.app.ProgressDialog");
     local pd = ProgressDialog.show(this,标题,消息);  
     local id =import "android.os.Build"
     local dd=id.SERIAL
     local set=import "android.provider.Settings"
     local id = set.System.getString(this.getContentResolver(), "android_id") 
     local codeid =dd..id  

     task(时间,function()
        pd.dismiss();
        弹出消息(通知)
      end)
  end--001结束

  function 数组去重(数组)
      local b = {}
      for k,v in ipairs(数组) do
          if(#b == 0) then
              b[1]=v;
          else
              local index = 0
              for i=1,#b do
                  if(v == b[i]) then
                      break

                  end
                  index = index + 1
              end
              if(index == #b) then
                  b[#b + 1] = v;
              end
          end
      end
      return b
  end--用法narr=数组去重(数组)  ---narr是更新后的数组

  function 索取内容(执行事件)
     sqmc={}
     sqsj={}
     function 添加索取(索取名称,索取事件)
       table.insert(sqmc,索取名称)
       table.insert(sqsj,索取事件)
     end
         
      task(100,function()
       sqnr_1=sqys..'.innerHTML'--索取内容
       sqnr_2='var dqbq='..sqys..[[;if(dqbq.tagName.toLowerCase()=="a"){dqbq.getAttribute("href");}else{if(dqbq.parentElement.tagName.toLowerCase()=="a"){dqbq.parentElement.getAttribute("href");}else{if(dqbq.parentElement.parentElement.tagName.toLowerCase()=="a"){dqbq.parentElement.parentElement.getAttribute("href");}else{};};}]]
       sqnr_3=sqys..'.getAttribute("src")'

       索取文本内容事件=[[sqnr=sqnr_1]].."\n"..执行事件
       索取跳转链接事件=[[sqnr=sqnr_2]].."\n"..执行事件
       索取图片链接事件=[[sqnr=sqnr_3]].."\n"..执行事件

        添加索取("索取文本内容",索取文本内容事件)
       if(sqnr_2~=nil)then
        添加索取("索取跳转链接",索取跳转链接事件)
       end
       if(sqnr_3~=nil)then
        添加索取("索取图片链接",索取图片链接事件)
       end

       列表弹窗("获取",sqmc,sqsj)
      end)
  end

  function 自定义事件对话框(标题,消息,积极名称,消极名称,中立名称)
     dialog=AlertDialog.Builder(this)
     .setTitle(标题)
     .setMessage(消息)--设置消息
     .setPositiveButton(积极名称,nil)
     .setNegativeButton(消极名称,nil)
     .setNeutralButton(中立名称,nil)
     .show()
  end

  function 版本功能限制(功能)
    自定义事件对话框("错误!/"..功能,"当前版本缺少内设函数无法使用"..功能.."功能，请到酷安市场下载最新版本","确定","","")
    dialog.getButton(dialog.BUTTON_POSITIVE).onClick=function()--预加载
      dialog.dismiss();
      import "android.content.Intent"
      import "android.net.Uri"
      url="https://www.coolapk.com/apk/com.Yyge.JsHD"
      viewIntent = Intent("android.intent.action.VIEW",Uri.parse(url))
      activity.startActivity(viewIntent)
    end
  end

  版本限制=function(版本)--参数：字符串  返回：false和true
    getvn=activity.getPackageManager().getPackageInfo(activity.getPackageName(),0).versionName
    vn_0=tonumber((getvn:gsub("%.","")))
    vn_1=tonumber((版本:gsub("%.","")))
    if(vn_0>=vn_1)then return true else return false end
  end

  function 会员对话框(标题,消息,积极名称,消极名称)
    function vip_shopping()
      import "android.content.Intent"
      import "android.net.Uri"
      url="http://www.wfaka.com/category/661FAD5FE5D79973"
      viewIntent = Intent("android.intent.action.VIEW",Uri.parse(url))
      activity.startActivity(viewIntent)
    end

      import "android.graphics.Color"
      Alert=LuaDialog(this)
      Alert.setTitle(标题)
      Alert.setMessage(消息)
      Alert.setPositiveButton(积极名称,nil)--积极按钮
      Alert.setNegativeButton(消极名称,nil)--消极按钮
      Alert.setNeutralButton("",nil)
      Dialog=Alert.show();--定义显示对话框为Dialog

        function vip_message()
          import "android.text.Html"
          import "android.content.Context"
          message=Dialog.findViewById(android.R.id.message)
          message.setTextColor(0xFF434343)--设置消息颜色
          message.setTextSize(14);
          message.setPadding(message.getPaddingLeft(),0,message.getPaddingRight(),-message.getPaddingRight())--左、上、右、下

          params = Dialog.getWindow().getAttributes();
          params.width = activity.getWidth()*0.9;
          --params.height = activity.getHeight()*0.9;
          Dialog.getWindow().setAttributes(params);

          field=Class.forName("android.app.AlertDialog").getDeclaredField("mAlert")
          field.setAccessible(true)
          field2=field.get(Dialog)
          field3=field2.getClass().getDeclaredField("mTitleView")
          field3.setAccessible(true)
          tv=field3.get(field2)
          import "android.graphics.Color"
          tv.setText(标题)
          --tv.setGravity(Gravity.CENTER)--设置居中
          tv.getPaint().setFakeBoldText(true);--设置粗体

          message=Dialog.findViewById(android.R.id.message)
          message.setTextColor(0xFF434343)--设置消息颜色
          message.setTextSize(14);
          message.setText(Html.fromHtml(消息))
        end

        Dialog.getButton(Dialog.BUTTON_POSITIVE).onClick=function()--积极按钮事件 拦截原本事件 点击后对话框不会消失 需要自定义.dismiss();
          vip_shopping()
        end

        Dialog.getButton(Dialog.BUTTON_NEGATIVE).onClick=function()--消极按钮事件 拦截原本事件 点击后对话框不会消失 需要自定义.dismiss();
         Dialog.dismiss();
        end

        vip_message()
  end
----------------自定义功能数组----------------